Ma question est simple, comment ajouter des items dans un QComboBox ? Je ne comprend pas a quoi sert le QVariant dans
Merci d'avance :)Code:void QComboBox::addItem ( const QString & text, const QVariant & userData = QVariant() )
Version imprimable
Ma question est simple, comment ajouter des items dans un QComboBox ? Je ne comprend pas a quoi sert le QVariant dans
Merci d'avance :)Code:void QComboBox::addItem ( const QString & text, const QVariant & userData = QVariant() )
QVariant est une classe wrappant un bon paquet de types de données.
Dans ton cas ça se comprend un peu comme un select en html ou chaque balise option a une présentation et une valeur
Dans ton cas la QVariant correspond à la valeur et le text à la présentation
En même temps je dis ça mais je n'ai jamais réellement touché à QT, bien ce fasse partie de mes plans plus ou moins éloignés, mais bon en farfouillant dans la doc j'ai cru comprendre ça. D'ailleurs ça parait succint cette doc conparée à la javadoc dont j'ai l'habitude....
Salut,
je sais pas si t'as résolu ton pb. Mais si ca peut servir à d'autres.
Voici comment j'ajoute des items :
VoilàCode:
1
2
3
4 cbContinent = new QComboBox; cbContinent->addItem(tr("Afrique")); cbContinent->addItem(tr("Amerique du Nord"));
Le QVariant sert à stocker une donnée (de presque n'importe quel type, donc) qui sera associée à l'item sans pour autant être montrée à l'utilisateur.
Par exemple, imaginons une table de catégories avec deux champs Nom et ID. Ton programme identifie les catégories par ID, mais l'utilisateur ne connaît que le nom. Tu ajoutes donc une catégorie comme ça :
Et lorsqu'un item est choisi :Code:list->addItem(nomCategorie, QVariant(idCategorie));
Code:
1
2
3
4 void itemChoisi (int no) { // slot <div style="margin-left:40px"> int id = list.itemData(no); // traitement de l'élément n° "id"</div>}