Problème avec delegue avec table QAbstractTableModel



  • Re: Problème avec le délégué QSlider

    Merci de votre réponse, mais je constate que si modele est un pointeur QStandardItemModel, le delegue marche très bien. Mais si modele est un pointeur PaysTableModel (sous classe QAbstractTableModel) alors il ne fonctionne plus.
    Voici le code où j'ai activé volontairement QStandardItemModel *modele = new QStandardItemModel(4,2);

    Merci d'avance de votre aide.

    #include "essai0.h"
    #include "PaysTableModel.h"
    #include "delegue.h"
    #include <QApplication>
    #include <QStringList>
    #include <QTableView>
    #include <QHBoxLayout>
    
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv); QMainWindow mainWindow; QWidget tableWidget;
        QStringList listePays;
        listePays << "France" << "Angleterre" << "Espagne" << "Italie" << "Allemagne";
    //   PaysTableModel *modele = new PaysTableModel(listePays);
      Delegue *mydelegate = new Delegue();
    
    
              QStandardItemModel   *modele = new QStandardItemModel(4,2);
    
                    for(int row = 0; row < 4; ++row)
                    {
                        for(int col = 0; col < 2; ++col)
                        {
                           QModelIndex index = modele->index(row,col,QModelIndex());
                            modele->setData(index,0);
                        }
                   }
    
                    QTableView *vueTable = new QTableView;
                    vueTable->setModel(modele);
                    vueTable->setItemDelegate(mydelegate);
    
    
        QHBoxLayout *layout = new QHBoxLayout;
        layout->addWidget(vueTable);
        tableWidget.setLayout(layout);
        mainWindow.setCentralWidget(&tableWidget);
        mainWindow.setWindowTitle("Exemple 3");
        mainWindow.show();
        return app.exec();
        }
    

 

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