Comment puis-je vérifier si la case est cochée ou non dans Qt?
Le code suivant est censé définir le texte de nameLine
forme de this box is unchecked
lorsque le QCheckBox
instance checkbox
a l'état Unchecked
.
Ici est la ma case exemple, la déclaration:
QCheckBox *checkbox = new QCheckBox("paid with cash!", this);
checkbox->setCheckState(Qt::Unchecked);
et c'est ici la logique de la mesure:
if(checkbox->checkState(Qt::Unchecked))
{
nameLine->setText("the box is unchecked");
}
Ce code ne compile pas. L'erreur qui en résulte est la suivante:
C:\Qt.1.1\mingw48_32\examples\widgets\tutorials\addressbook\part1\voruskra.cpp:144: error: no matching function for call to 'QCheckBox::checkState(Qt::CheckState)'
if(checkbox->checkState(Qt::Unchecked))
^
Pouvez-vous me dire ce que je fais de mal?
- Donc, fondamentalement, c'est un programme qui se trouve sur la case à cocher?
Vous devez vous connecter pour publier un commentaire.
Sauf si vous utilisez un tristate case à cocher, vous pouvez simplement
if (checkbox->isChecked())
Cette propriété est héritée chemin du retour dans
QAbstractButton
. Si c'est un tristate case, vous devrez utilisercheckState()
comme suggéré dans l'autre réponse.Je pense que
checkState
ne prend aucun argument. Essayezif(checkbox->checkState() == Qt::Unchecked)
peut-être vous pouvez essayer comme ça?
alors si commande..