Bonjour,
J'ai une table issue d'une requête avec des lignes d'une certaine couleur. Pour m'entraîner je voudrais pouvoir activer ces couleurs avec un clic à partir d'un bouton afin de compléter ma formation sur le MVC.
Voici mon code:

Merci de votre aide.

monmodele.h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class monModele : public QIdentityProxyModel
{
 
public:
 
    monModele(QObject* parent = 0): QIdentityProxyModel(parent)
        { qDebug() << "constructor"; }
 
    QVariant data(const QModelIndex &index, int role) const override
       {
 
        int row = index.row();
        int col = index.column();
 
 
         if (role == Qt::ForegroundRole)
         {
 
             if (row == 6)
             {
                QColor color(Qt::blue);
                return QVariant (color);
             }
        return QVariant();
 
        }
 
         if (role == Qt::BackgroundRole)
         {
             if (col == 1)
             {
                QColor color(Qt::yellow);
                return QVariant(color);
             }
 
            return QVariant();
 
         }
 
     return QIdentityProxyModel::data(index, role);
 
      }

fenetre.cpp

..........

QPushButton *mCouleur = new QPushButton("Coloration ligne", this);

QObject::connect(mCouleur, SIGNAL(clicked()), this, SLOT(Coloration()));


.........


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sqlModele = new QSqlTableModel();
     sqlModele->setQuery(*mRequete);
 
  monModele  *identModel = new monModele();
 identModel->setSourceModel(sqlModele);
 
   //    ui->tableView->setModel(identModel);
 
  //     auto *leModel = ui->tableView->model();
    //  auto idx = leModel->index(5,1);
  //    auto data = leModel->data(idx);
//auto string = data.toString();
 
//qDebug() <<string;
 
        ui->tableView->show();
}
 
void Fenetre::ColorationLigne()
{
 
Je ne vois pas quoi mettre ???????
 
}]