Comment utiliser la case PYQT?

Comment utiliser la case PYQT?

La case à cocher est utilisée pour sélectionner zéro ou plus d'options dans de nombreuses options à l'aide de l'interface utilisateur graphique. Un formulaire avec une case à cocher peut être créé en utilisant Bac à quais classe dans un script python ou en utilisant le Bac à quais widget Concepteur QT sans écrire de script.

Lorsqu'un formulaire avec une case à cocher est créé en utilisant Bac à quais classe, alors statechanged.connecter() La fonction est appelée pour appliquer l'action effectuée par l'entrée de l'utilisateur. Si l'utilisateur a coché l'option de case à cocher, alors la valeur de Qtcore.QT.vérifié sera vrai. Plusieurs cases à cocher avec une seule sélection comme le bouton radio peuvent être créées en utilisant Qbuttongroup classe.

Comment un formulaire avec une case à cocher peut être créé en écrivant un script Python est affiché dans ce tutoriel.

Méthodes nécessaires de Qcheckbox

Bac à quais La classe a de nombreuses fonctions pour effectuer différents types de tâches avec la case à cocher. Certaines méthodes les plus couramment utilisées de cette classe sont décrites ci-dessous:

Nom de méthode But
est vérifié() Il renvoie une valeur booléenne. Lorsque l'utilisateur clique pour cocher la case, il renvoie vrai, sinon il renvoie false.
setChecked () Il est utilisé pour modifier l'état de la case à cocher. True Value est défini pour faire cocher la case à cocher et la fausse valeur est définie pour rendre la case à cocher sans contrôle.
texte() Il est utilisé pour lire l'étiquette de la case à cocher.
Définir le texte() Il est utilisé pour définir l'étiquette de la case à cocher.
istristate () Il renvoie une valeur booléenne. Il est utilisé pour vérifier le tri-State pour savoir si la case à cocher est activée ou non.
setTristate () Il est utilisé pour permettre le troisième état de la case à cocher qui indique l'état neutre.

Créez un formulaire avec Checkbox à l'aide de la classe QCheckbox:

Les utilisations de la case à cocher sont présentées dans cette section en utilisant différents types d'exemples. L'utilisation d'une seule case à cocher, comme indiqué dans le premier exemple, et l'utilisation de plusieurs cases à cocher est affichée dans le deuxième exemple.

Exemple 1: Création d'une seule case à cocher

La façon de créer une seule case à cocher en utilisant Bac à quais classe et lecture de la valeur d'entrée de la case à cocher fournie par l'utilisateur sont affichées dans cet exemple. Les modules nécessaires sont importés au début du script. Une étiquette est utilisée dans la case à cocher ci-dessus pour fournir les informations pour l'utilisateur. Si l'utilisateur clique sur la case à cocher pour cocher, le script s'imprimera: «Ouah! Vous aimez la programmation», Sinon, le script imprimera:«Oh non!, Vous n'aimez pas la programmation".

# Importer les modules nécessaires
importer sys
à partir de Pyqt5 import qtcore, qtwidgets
de pyqt5.QtWidgets Import QmainWindow, QCheckbox, QLabel, QVboxLayout, QdesktopWidget
# Définissez la classe pour créer le formulaire avec une seule case à cocher
Class SingleCheckBox (qmainwindow):
def __init __ (soi):
super().__init __ ()
# Créez le texte d'étiquette pour l'utilisateur
LB = QLABEL ("Aimez-vous la programmation?", soi)
kg.SetGeométrie (20, 20, 200, 20)
kg.Déplacer (20, 20)
# Créez une case à cocher avec l'étiquette
cb = qcheckbox ('oui', self)
cb.statechanged.se connecter (soi.Vérifier la réponse)
cb.Déplacer (20, 50)
# Définissez la disposition Vertical QT
vbox = qvboxlayout ()
vox.AddWidget (LB)
vox.AddWidget (CB)
# Définissez le titre et la taille de la fenêtre
soi.setWindowTitle ('Form avec une seule boîte à cocher')
soi.setGeométrie (60, 60, 300, 100)
# Afficher la fenêtre au centre de l'écran
gagner = soi.framegeometry ()
pos = qdesktopwidget ().DisponduGeometry ().centre()
gagner.MOVECENCER (POS)
soi.Déplacer (gagner.en haut à gauche())
soi.montrer()
# Définissez la fonction pour vérifier l'entrée de l'utilisateur
def Check_answer (self, état):
Si état == qtcore.QT.Vérifié:
imprimer ("wow! Vous aimez la programmation.")
autre:
Print ("Oh non!, Vous n'aimez pas la programmation.")
# Créer un objet d'application et exécuter l'application
app = qtwidgets.Qapplication (sys.argv)
form = singlecheckbox ()
appliquer.exec ()

La fenêtre suivante avec une case à cocher apparaît après avoir exécuté le script.


Dans la sortie suivante, l'utilisateur a coché la case à cocher deux fois et décoché la case une fois.

Exemple 2: Création de plusieurs cases à cocher

La méthode de création de plusieurs cases à cocher en utilisant Bac à quais classe et lecture plusieurs valeurs de plusieurs cases à cocher sont affichées dans cet exemple. Deux étiquettes et trois cases à cocher sont ajoutées à la fenêtre. La première étiquette est ajoutée au début des cases à cocher pour fournir des informations pour l'utilisateur, tandis que la deuxième étiquette est ajoutée à la fin des cases à cocher pour afficher les valeurs de la case sélectionnée ou des cases à cocher.

# Importer les modules nécessaires
importer sys
de pyqt5.QtWidgets Import (Qwidget, QCheckbox, Qapplication, QVboxLayout, QLabel, QdesktopWidget)
# Définissez la classe pour créer le formulaire avec plusieurs cases à cocher
Class MultipleCheckBox (Qwidget):
def __init __ (soi):
super().__init __ ()
# Définissez le texte de l'étiquette pour l'utilisateur
LB = QLABEL ("Sélectionnez vos plats préférés (s):", Self)
kg.SetGeométrie (20, 20, 100, 20)
kg.Déplacer (20, 20)
# Créez trois cases à cocher
CB1 = QCheckbox («Gâteau au chocolat», Self)
CB1.Déplacer (20, 70)
CB1.statechanged.connecter (lambda: soi.Selected_value (CB1))
cb2 = qcheckbox ('glace', self)
CB2.Déplacer (20, 90)
CB2.statechanged.connecter (lambda: soi.Selected_value (CB2))
cb3 = qcheckbox ('pâtes', self)
CB3.Déplacer (20, 110)
CB3.statechanged.connecter (lambda: soi.Selected_value (CB3))
soi.label = qLabel («rien sélectionné»)
soi.étiqueter.Déplacer (20, 150)
# Définissez la disposition Vertical QT
vbox = qvboxlayout ()
vox.AddWidget (LB)
vox.AddWidget (CB1)
vox.AddWidget (CB2)
vox.AddWidget (CB3)
vox.addWidget (soi.étiqueter)
soi.setLayout (VBox)
soi.setWindowTitle ('Form avec plusieurs boîtes à cocher')
soi.SetGeométrie (60, 60, 350, 200)
soi.lbltext = "
# Afficher la fenêtre au centre de l'écran
gagner = soi.framegeometry ()
pos = qdesktopwidget ().DisponduGeometry ().centre()
gagner.MOVECENCER (POS)
soi.Déplacer (gagner.en haut à gauche())
soi.montrer()
# Définissez la fonction pour lire l'entrée de l'utilisateur
def selected_value (self, btn):
Si vous-même.LblText != ":
str = self.LblText
starray = str.diviser(' ,')
soi.lbltext = "
Pour Val à StraRray:
Si btn.texte() != Val:
Si vous-même.lblText == ":
soi.LblText = Val
autre:
soi.lblText + = ',' + Val
Si btn.isChecked () == true:
Si vous-même.lblText == ":
soi.lblText = btn.texte()
autre:
soi.lblText + = ',' + btn.texte()
autre:
Si btn.isChecked () == true:
Si vous-même.lblText == ":
soi.lblText = btn.texte()
autre:
soi.lblText + = ',' + btn.texte()
soi.étiqueter.setText ('vous avez sélectionné \ n' + self.lblText)
# Créer un objet d'application et exécuter l'application
app = qapplication (sys.argv)
ex = multipleCheckbox ()
système.sortir (application.exec_ ())

La fenêtre suivante apparaîtra après avoir exécuté le script. La valeur par défaut de la deuxième étiquette est «Rien n'est sélectionné»Et la valeur de l'étiquette sera modifiée lorsqu'une case à cocher est cochée ou non contrôlée par l'utilisateur.


Dans la sortie suivante, deux cases à cocher sont cochées par l'utilisateur, et la valeur de la deuxième étiquette est modifiée en «Chocolat, pâtes".

Conclusion

La manière de définir une ou plusieurs cases à cocher et de lire les valeurs des cases sélectionnées a été expliquée dans ce tutoriel en utilisant deux exemples simples. Les groupes de cases à cocher peuvent être définis pour sélectionner une boîte à cocher particulière dans un groupe qui n'est pas affiché ici.