-
Bonjour,
J'ai trouvé dans la doc l'exemple suivant où un QSTRINGLIST est utilisé comme donnée. Comment faire quand on a le résultat d'une requête (mRequete) avec le code: sqlModele = new QSqlQueryModel();
sqlModele->setQuery(*mRequete);Merci de votre aide.
Voici le code de la doc:
paystablemodel.h
#ifndef PAYSTABLEMODEL_H #define PAYSTABLEMODEL_H #include <QAbstractTableModel> #include <QModelIndex> class PaysTableModel : public QAbstractTableModel { private: QStringList listePays; public: PaysTableModel(const QStringList &listePays, QObject *parent = 0):QAbstractTableModel(parent) {if (listePays.count() > 0) this->listePays = listePays;} int rowCount(const QModelIndex &parent = QModelIndex()) const { return this->listePays.count(); } int columnCount(const QModelIndex &parent = QModelIndex()) const { return 2;} // pour insérer une (future) capitale QVariant data(const QModelIndex &index, int role) const { if (! index.isValid()) return QVariant(); if (((unsigned int)index.row()>=this->listePays.count())||(index.column()>= 2)) return QVariant(); if ((role == Qt:isplayRole)) { if(index.column() == 0) // la première colonne = pays return this->listePays.at(index.row()); // retourne le nom du pays demandé } else return QVariant(); } }; #endif // PAYSTABLEMODEL_H
main.cpp
#include <QApplication> #include <QStringListModel> #include <QTableView> #include <QWidget> #include "Paystablemodel.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget Widget; QWidget tableWidget; QStringList listePays; listePays << "France" << "Angleterre" << "Espagne" << "Italie" << "Allemagne"; PaysTableModel *modele = new PaysTableModel(listePays); QTableView *vueTable = new QTableView; vueTable->setModel(modele); vueTable->show(); return app.exec(); }