Python

Comment utiliser PyQt QComboBox

Comment utiliser PyQt QComboBox

UNE Boîte combo est utilisé pour sélectionner un élément dans une liste d'éléments, un peu comme le bouton radio. le QComboBox la classe de PyQt est utilisée pour créer des listes déroulantes à l'aide d'un script Python. Il affiche une liste d'éléments que l'utilisateur peut sélectionner. Les éléments de la ComboBox peuvent être ajoutés, modifiés et supprimés à l'aide du script. Plusieurs éléments peuvent être sélectionnés comme le bouton CheckBox dans la liste des éléments de la ComboBox, puis il s'appelle ListBox. Ce tutoriel vous montre comment utiliser QComboBox pour créer une liste déroulante en Python.

Méthodes QComboBox

La classe QComboBox contient de nombreuses méthodes pour effectuer diverses tâches liées à ComboBox. Certaines des méthodes les plus couramment utilisées de cette classe sont décrites ci-dessous :

Nom de la méthode Objectif
compter() Utilisé pour compter le nombre total d'éléments dans la liste.
ajouter un item() Utilisé pour ajouter un seul nouvel élément à la liste.
Ajouter des articles() Utilisé pour ajouter plusieurs éléments à la liste.
itemText() Utilisé pour lire le texte d'un élément particulier basé sur un index.
setItemText() Utilisé pour définir le texte d'un élément particulier en fonction d'un index.
Textecourant() Utilisé pour lire le texte de l'élément sélectionné.
indicecourant() Utilisé pour lire l'index de l'élément sélectionné.
dégager() Utilisé pour supprimer tous les éléments de la liste.
Souligné() Utilisé lorsqu'un élément de la liste est mis en surbrillance.
activé() Utilisé lorsqu'un élément est sélectionné par l'utilisateur.
CurrentIndexChanged() Utilisé lorsque l'élément de la liste a changé.

Utilisation de la zone de liste déroulante

Les sections suivantes fournissent des exemples qui expliquent certaines utilisations différentes de la ComboBox à l'aide du module QComboBox de la bibliothèque PyQt.

Exemple 1 : créer une liste déroulante simple

Cet exemple vous montre comment créer une liste déroulante simple à l'aide de la classe QComboBox. Ici, une liste déroulante de cinq éléments est créée et est attachée à une fonction personnalisée qui imprimera la valeur sélectionnée dans la liste. Une étiquette est utilisée dans la fonction de la liste déroulante pour afficher du texte statique, et une autre étiquette est utilisée sous la liste déroulante pour afficher la valeur sélectionnée.

# Importez les modules nécessaires
importer le système
de PyQt5.Importation de QtWidgets (QApplication, QWidget, QLabel, QVBoxLayout, QComboBox)
# Déclarez la classe pour créer le ComboBox
classe ComboExample(QWidget):
def __init__(self):
super().__init__()
# Définir l'étiquette avant la ComboBox
soi.topLabel = QLabel('Sélectionnez votre langage de programmation préféré :', self)
# Définir la combobox avec des éléments
combobox = QComboBox(self)
boîte combo.addItem('PHP')
boîte combo.addItem('Python')
boîte combo.addItem('Perl')
boîte combo.addItem('Bash')
boîte combo.addItem('Java')
# Définir l'étiquette après la ComboBox
soi.bottomLabel = QLabel(", soi)
soi.basÉtiquette.ajusterTaille()
# Définir la boîte de disposition vartical
v_layout = QVBoxLayout()
v_layout.addWidget(self.topLabel)
v_layout.addWidget(combobox)
v_layout.addWidget(self.bottomLabel)
# Appelez la méthode personnalisée si un élément est sélectionné
boîte combo.activé[chaîne].se connecter (se.surSélectionné)
# Définir les configurations de la fenêtre
soi.setContentsMargins (20, 20, 20, 20)
soi.setLayout(v_layout)
soi.déplacer (800, 300)
soi.setWindowTitle('Utilisation de ComboBox')
# Fonction personnalisée pour lire la valeur de l'élément sélectionné
def onSelected(self, txtVal):
txtVal = "\nVous avez sélectionné : " + txtVal
soi.basÉtiquette.setText(txtVal)
# Créer un objet d'application et exécuter l'application
app = QApplication(sys.argv)
combobox = ComboExample()
boîte combo.spectacle()
application.exec()

Si l'utilisateur clique sur la liste déroulante après avoir exécuté le script, la liste suivante apparaîtra.

Si l'utilisateur sélectionne la valeur Frapper dans la liste déroulante, la valeur de la deuxième étiquette sera remplacée par 'Vous avez sélectionné : Bash.'

Exemple 2 : créer une zone de liste déroulante à l'aide de la liste

Dans l'exemple précédent, la liste déroulante a été créée avec des données statiques à l'aide de la méthode addItem() de la classe QComboBox. Cet exemple vous montre comment ajouter plusieurs éléments dans la liste déroulante en définissant une liste Python. Tout d'abord, nous allons ajouter du texte statique au premier élément de la liste déroulante à l'aide de la méthode addItem(). Ensuite, nous allons définir une liste de cinq éléments dans le script, et nous allons ajouter ces éléments à la liste déroulante en utilisant la méthode addItems(). Une fonction personnalisée est attachée à la liste déroulante pour afficher le message dans l'étiquette en fonction de la sélection de l'utilisateur.

# Importez les modules nécessaires
importer le système
de PyQt5.Importation de QtWidgets *
# Déclarez la classe pour créer la combobox en utilisant les données de la liste
classe ComboExample(QMainWindow):
def __init__(self):
super().__init__()
# Définir le titre de la fenêtre
soi.setWindowTitle("ComboBox avec données de liste")
# Définir la géométrie de la fenêtre
soi.setGeometry(100, 100, 350, 150)
# Créer une liste déroulante
soi.combobox = QComboBox(self)
# Définir la géométrie de la combobox
soi.boîte combo.setGeometry (30, 30, 200, 30)
# Définir les éléments de la liste pour la liste déroulante
src_engines = ["google.com", "yahoo.com", "demander.com", "baidu.com", "yandex.com"]
# Activer l'option modifiable de la combobox
soi.boîte combo.setEditable(True)
# Définir le premier élément de la liste déroulante
soi.boîte combo.addItem("Sélectionner le moteur de recherche")
# Ajouter plusieurs éléments dans la liste déroulante à l'aide de la liste
soi.boîte combo.addItems(src_engines)
# Définir l'étiquette au bas de la liste déroulante pour fournir un message à l'utilisateur
soi.msgLabel = QLabel(", soi)
# Définir la géométrie de l'étiquette
soi.msgLibellé.setGeometry (30, 60, 290, 60)
# Appelez la fonction personnalisée lorsqu'un élément est sélectionné
soi.boîte combo.activé[chaîne].se connecter (se.surClic)
# Déplacer la position de la fenêtre
soi.déplacer (800, 400)
# Afficher la fenêtre
soi.spectacle()
# Définir une méthode pour gérer l'événement click de la Combobox
def onClicked(self, val):
# Vérifiez que tout élément est sélectionné par l'utilisateur ou non
if val == "Sélectionner le moteur de recherche":
message = "Vous n'avez rien sélectionné."
autre:
message = "Votre moteur de recherche préféré est " + val
# Afficher le texte du message dans l'étiquette
soi.msgLibellé.setText(message)
# Afficher le message dans la console
imprimer (message)
# Créer l'objet d'application
app = QApplication(sys.argv)
# Créer un objet de la classe objet
combo = ComboExample()
# Exécuter l'application
application.exec()

Si l'utilisateur clique sur la liste déroulante après avoir exécuté le script, la liste suivante apparaîtra.

Si l'utilisateur sélectionne un élément à l'exception du premier élément de la liste déroulante, la valeur sélectionnée sera affichée dans l'étiquette en se combinant avec l'autre texte.

Si l'utilisateur sélectionne le premier élément dans la liste déroulante, la valeur, 'Vous n'avez rien sélectionné' sera affiché dans l'étiquette.

Conclusion

Cet article vous a montré comment créer et utiliser des listes déroulantes en Python à l'aide du QComboBox classe en utilisant des exemples simples pour vous aider à mieux comprendre l'utilisation de cette classe.

Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...
Comment changer les boutons gauche et droit de la souris sur un PC Windows 10
Il est tout à fait normal que tous les appareils de souris d'ordinateur soient conçus de manière ergonomique pour les droitiers. Mais il existe des so...
Émulez les clics de souris en survolant à l'aide de la souris sans clic dans Windows 10
L'utilisation d'une souris ou d'un clavier dans la mauvaise posture d'une utilisation excessive peut entraîner de nombreux problèmes de santé, notamme...