Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt3] Utiliser les QComboTableItem avec une QTable.

Hello,

J'ai une QTable que j'initialise avec des infos d'une base de données, je voudrais ajouter à mon tableau une colonne "Etat" qui présente des QComboTableItem :

http://doc.trolltech.com/3.3/qcombotableitem.html

J'ai pour cela ajouté dans la fonction init dans QTDesigner :

void frmApelec::init()
{
QStringList choix;
choix.append( "Absent" );
choix += "Présent";
choix += "Retard";
QComboTableItem(dtListe,choix);
}

Ca compile bien mais rien ne se passe (je n'ai pas de colonne supplémentaire), mon main possède juste une fonction de connexion à la base et procède à l'affichage de ma fenêtre.

Merci !

Réponses

  • J'ai trouvé ce thread :

    http://lists.trolltech.com/qt-interest/2004-02/thread00074-0.html

    Mais ça semblerait impossible d'utiliser la méthode setItem d'une QDataTable. Comment faire ?
  • en effet, pas de bras, pas de chocolat comme dirais l'autre...
    C'est bon pour une QTable et pas pour une QDataTable. C'est bien dommage, mais comme une QDataTable se "gere seule" avec la bdd, c'est une fonctionnalite difficile a implementer donc non possible. Enfin, je le comprend comme ca.
  • Et je ne pourrais pas remplir une QTable "à la main" ? Comment pourrais-je faire ?
  • bien sur que tu peux...

    Par exemple, tu peux faire une query sur ta table et tu iteres sur tes resultats et tu fait des setItem comme il le faut.

    Ex :
    QSqlQuery query;
    query.exec("SELECT blablabla");
    int k=0;
    while (query.next())
    {
    for (int i = 0; i < numCols; i++)
    {
    table->setItem(k, i, new MyTableItem(.....));
    }
    ++k;
    }
    Tu dois pouvoir passer aussi par des QSqlCursor et QSqlRecord si tu preferes, la doc est bien faite pour ca aussi !
Connectez-vous ou Inscrivez-vous pour répondre.