Comment faire un QVector
(ou une autre classe de conteneur) d'un nombre dynamique de widgets, tels que QPushButton
ou QComboBox
dans Qt 4?Comment créer un QVector de widgets?
Je l'ai utilisé ce qui suit dans mon constructeur de la classe de fenêtre:
QVector<QComboBox*> foo; // Vector of pointers to QComboBox's
Et maintenant, je veux le remplir avec un certain nombre de contrôles qui peuvent changer de façon dynamique:
for(int count = 0; count < getNumControls(); ++count) {
foo[count] = new QComboBox();
}
J'ai cherché pendant des heures en essayant de trouver la réponse à cela. Les forums Qt mentionnent la création d'un QPtrList
, mais cette classe n'existe plus dans Qt4. Plus tard, j'essayerais d'obtenir la valeur du texte de chacun en utilisant l'indexation de type tableau ou la fonction .at()
.
J'apprécierais vraiment un exemple de déclarer, initialiser et peuplant une structure de données d'un QWidgets
(QComboBox
, QPushButton
, etc.)
Je voulais insérer combo-boîtes à partir du fichier .ui dans une liste. J'ai inséré de cette façon: 'QList listComboBox;' 'listComboBox << (ui-> comboBoxTitle);' et récupéré comme ceci: 'QComboBox * comboBox = listComboBox.at (i);' qui fonctionne très bien! :) –
zeFree
QVector est maintenant préféré à QList ([en savoir plus] (https://stackoverflow.com/a/38263633/6165833)). – ymoreau