Tkinter ComboBox

Tkinter Combobox



Le package ttk, une modification unique de Python Tkinter, introduit ce composant supplémentaire. Le Python Tkinter ComboBox affiche chaque choix dans un menu déroulant 1 à un moment. Il a un aspect contemporain, ce qui le rend adapté aux endroits où l'exposition est cruciale. Le gadget Entry est une capacité de classe du Python ComboBox. En conséquence, il ajoute des choix et des fonctions supplémentaires tout en héritant de plusieurs de la classe Entry.

Un widget crucial qui peut être vu dans plusieurs programmes est le ComboBox. L'utilisateur reçoit une liste d'alternatives parmi lesquelles choisir. Il a plusieurs valeurs et n'en affiche jamais qu'une à la fois. Le didacticiel d'aujourd'hui expliquera comment utiliser ComboBox sous Linux à l'aide de Tkinter.

Exemple 1:

Commençons par le tout premier exemple du module Tkinter en Python. Nous créons un nouveau fichier Python avec l'extension 'py' via la console du terminal. Après cela, vous pouvez utiliser n'importe quel éditeur de votre choix pour ouvrir le fichier Python nouvellement généré à partir de l'explorateur de fichiers. Nous commençons ce code Python avec l'importation de la bibliothèque Tkinter dans le code avec tous ses sous-objets, classes et entités intégrées.







Nous importons son objet ttk à utiliser dans le code. Tout d'abord, nous appelons la fonction Tk() de Tkinter pour ajouter une nouvelle valeur pour l'objet « t ». L'objet « t » est utilisé pour appeler la fonction de géométrie afin de créer une interface utilisateur graphique de « 200×150 ». Dans ce premier exemple, nous utilisons la méthode 'frame()' de Tkinter pour créer un cadre GUI sur l'écran de la console. L'objet « f » du cadre est ici fermé à l'aide de la fonction Tkinter pack().



Après cela, nous créons une liste 'l' de types de chaînes contenant un total de 5 valeurs de chaîne. Après cela, nous utilisons l'objet Tkinter ttk pour appeler la fonction ComboBox de Tkinter dans le cadre 'f'. La liste 'l' lui est transmise. Ce ComboBox est enregistré dans la variable 'C'. Nous définissons l'étiquette du ComboBox à l'aide de la fonction 'set' et emballons le ComboBox avec des rembourrages exacts. Maintenant, nous exécutons la fonction mainloop() pour exécuter l'ensemble du programme Tkinter.







Après avoir terminé le script Python, nous sauvegardons le code avec Ctrl+S et revenons à la console shell du système Linux. Nous essayons l'instruction Python3 dans le shell suivie du nom d'un fichier Python pour exécuter le fichier comme indiqué ci-dessous :

$ python3 test.py



Après l'exécution de la requête, nous obtenons l'interface graphique Tkinter suivante sur l'écran de notre console avec le titre 'tk'. L'écran de l'interface graphique contient un comboBox, c'est-à-dire une liste déroulante, avec le titre 'Choisir 1 couleur' et un triangle pour l'ouvrir.

Après avoir appuyé sur le signe triangle, la longue liste déroulante s'affiche avec toutes ses options disponibles. Vous pouvez voir que nous avons un total de 5 options disponibles au choix.

Disons que vous choisissez la couleur 'Noir' dans la liste déroulante. Vous verrez que la couleur sélectionnée est affichée dans la zone de titre d'un ComboBox déroulant. La liste restante est masquée.

Exemple 2 :

Jetons un coup d'œil à un autre exemple utilisant une méthode différente pour créer un ComboBox dans le Tkinter cette fois. Ainsi, nous commençons ce code Python avec l'importation du module Tkinter dans le même fichier Python que 'tk' avec l'importation de la classe ttk de celui-ci. Après cela, nous importons la fonction showinfo() de la classe de boîte de message du module Tkinter. De plus, nous importons la variable month_name du module de calendrier de Python.

Nous appelons la fonction tk() avec l'objet tk du module Tkinter et sauvegardons le résultat du constructeur dans la variable « t ». La fonction de géométrie est appelée avec des paramètres spécifiés pour créer une interface graphique de Tkinter avec une taille spécifique. La fonction title() est appelée avec un paramètre 'Combobox Illustration' pour intituler l'interface graphique de Tkinter et la fonction Label de la classe ttk pour créer une étiquette 'l'. La fonction pack est utilisée pour remplir l'étiquette 'l'. La variable « mn » est créée avec la fonction StringVar() de la classe « tk ». Le ComboBox « mcb » est créé à l'aide de la fonction ComboBox et du texte variable « mn ». Le mcb ComboBox est rempli avec des valeurs de chaîne jusqu'à 13 via la variable month_name utilisée dans la boucle 'for'.

L'état du ComboBox 'mcb' est défini sur lecture seule et il est compressé. La fonction choose() est créée pour appeler la fonction showinfo() afin de créer une boîte de dialogue d'alerte avec le titre 'Confirmation' et un message 'Vous avez choisi {quelle que soit la valeur}. La fonction bind() est appelée avec le ComboBox « mcb » en ajoutant les paramètres « ComboboxSelected » et la fonction « change ». La fonction mainloop() est exécutée pour boucler le programme Tkinter. Sauvons-le d'abord avant de courir.

Nous exécutons ce fichier en utilisant la requête python3.

$ python 3 test.py

L'écran Tkinter suivant nommé 'ComboBox illustration' apparaît dans ce qui suit :

Lorsque nous cliquons sur le signe triangulaire ComboBox sous le titre 'Choisissez un mois', il affiche les noms d'un mois.

Lorsque nous choisissons 'juillet', cela s'affiche sur l'étiquette et le dialogue d'alerte et un message apparaît. Appuyez sur OK pour continuer.

Conclusion

Il s'agit d'utiliser le module Tkinter de Python pour créer un comboBox dans la fenêtre de l'interface graphique. Pour cela, nous avons essayé deux exemples simples mais différents de Python pour atteindre l'objectif en utilisant la fonction frame() et la manière conventionnelle de créer le comboBox dans l'interface graphique. Nous avons incorporé les exemples de codes pour les deux instances et apporté quelques modifications après l'exécution des codes.