Coloration cellule QTABLEVIEW



  • Bonjour,
    Comment colorier une cellule à partir d'un clic sur un bouton, je ne comprends pas comment utiliser les return de la méthode data().
    Je n'ai pu trouver que quelques exemples sur des forums mais sans résultats.
    Merci de votre aide. Voici le code:

    #include "widget.h"
    #include "mymodel.h"
    #include "ui_widget.h"
     
    Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
     
        QString file = "C:\\DIVERS\\bd1.accdb";
               QSqlDatabase mDatabase;
               mDatabase = QSqlDatabase::addDatabase("QODBC");
               QString dataBaseString = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};FIL={MS Access};DBQ=" + file;
               mDatabase.setDatabaseName(dataBaseString);
     
               mDatabase.open();
     
                mModele = new QSqlTableModel(this);
               mRequete = new QSqlQuery();
                   mRequete->prepare("SELECT Numero, Nom FROM Compte WHERE Numero > 10 and Numero < 25");
    mRequete->exec();
    mModele->setQuery(*mRequete);   
     
    ui->tableView->setModel(mModele);
     
                   ui->tableView->show();
    }
     
    Widget::~Widget()
    {
        delete ui;           
       
     
    void Widget::on_pushButton_clicked()
    {
         QModelIndex idx;
        idx = mModele->index(1,1,QModelIndex());
     
        mModele->data(idx,Qt::BackgroundRole);
     
        ui->tableView->setModel(mModele);
     
                       ui->tableView->show();
    }
    
    
    
    
    
      mymodel::mymodel(QObject *parent): QSqlTableModel(parent)
    {
    }
    
    QVariant mymodel::data ( const QModelIndex & index, int role)const
       {
    
          if(role==Qt::BackgroundRole)
          {
                return QColor(Qt::blue);
                 }
    
                return QSqlTableModel::data(index,role);
    
       }
    

 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.