Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème QSQLTABLEMODEL

Méthode data(const QModelIndex &index, int role)

    25 janvier 2019 à 15:32:38

    Bonjour, 

    Je ne parvient pas à faire fonctionner la méthode data(...). Il semble qu'elle est ignorée à l'exécution. voici mon code, 

    merci de votre aide.

    include "widget.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;
     
                 
       
    QVariant Widget::data ( const QModelIndex & index, int role = Qt::DisplayRole )const
       {
     
          if(role==Qt::BackgroundRole)
          {
            return QColor(Qt::red);
                 }
          return  QVariant();
       }
     
    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();
    }
    



    • Partager sur Facebook
    • Partager sur Twitter
    RL

    Problème QSQLTABLEMODEL

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown