« Programmation Qt/Les widgets » : différence entre les versions

Contenu supprimé Contenu ajouté
Athozus (discussion | contributions)
→‎QSlider : un curseur : ajout d'une partie Exercice
Athozus (discussion | contributions)
→‎Les champs : ajout de QComboBox
Ligne 138 :
Comme plus haut dans cette page, vous pouvez contrôler un <code>QProgressBar</code>, mais avec cette fois-ci un <code>QSlider</code>.
 
=== <code>QComboBox</code> : une liste déroulante ===
{{AutoCat}}
Une liste déroulante, <code>QComboBox</code>, est l'équivalent de boutons radios (<code>QRadioButton</code>), à l'exception que celle-ci ne prend qu'une petite place même pour une grande liste.<syntaxhighlight lang="c++" line="1" start="1">
QComboBox *m_combobox = new QComboBox(); /* Création de la liste */
m_combobox->addItem("Paris"); /* Ajout des options */
m_combobox->addItem("Tokyo");
m_combobox->addItem("Ottawa");
</syntaxhighlight>
 
==== Propriétés ====
 
* <code>count</code> : le nombre d'éléments dans la liste
* <code>currentId</code> : l'id de l'élément sélectionné
* <code>currentText</code> : le texte de l'élément sélectionné
* <code>editable</code> : un booléen qui autorise ou non l'ajout de valeurs personnalisées. Si l'option est activée (elle ne l'est pas par défaut), les nouveaux éléments seront placés à la fin de la liste.
 
Maintenant, nous allons écrire un petit code :<syntaxhighlight lang="c++" line="1" start="5">
QPushButton *boutonEnvoyer = new QPushButton("Envoyer !"); /* Création d'un bouton pour envoyer la valeur de la liste */
this::connect(boutonEnvoyer, SIGNAL(clicked()), this, SLOT(QMessageBox::information(this, "Capitale", ("Votre capitale est : " + m_combobox->currentText()))));
</syntaxhighlight>{{AutoCat}}