Qu'est-ce qu'une grille tkinter?
En général, la grille est un cadre de lignes de réseau qui se croisent et sont parallèles les unes aux autres, ce qui fait une série de fenêtres rectangulaires ou carrées. La fonction de géométrie de la grille fournie par la bibliothèque Tkinter suit la même définition de la grille.
Le gestionnaire de géométrie du réseau est l'un des gestionnaires de géométrie les plus flexibles, simples et les plus faciles distribués par la bibliothèque Tkinter. Il vous permet de mettre les widgets dans une table bidimensionnelle. Il organise les rangées et les colonnes paralelly pour faire un widget d'une forme carrée ou rectangulaire. Par exemple, si vous avez une prise de taille 2 × 2, cela ressemblera à ceci:
Chaque intersection de colonnes et de lignes est connue sous le nom de «cellule», qui peut contenir un widget. Un numéro d'index (ligne, colonne) représente chaque cellule de la grille. Ainsi, la grille de taille 2 × 2 sera représentée par (0, 0), (0, 1), (1, 0) et (1, 1). Par défaut, la première ligne et la première colonne ont un index zéro, la deuxième ligne et la deuxième colonne ont 1 index, et ainsi de suite.
Les index de la grille ne doivent pas être dans une séquence, et ils peuvent également avoir des lacunes. Par exemple, vous souhaitez ajouter différents widgets avec la grille, de sorte que votre grille peut ressembler (1, 1), (2, 3), (5, 1), (7, 7), (9, 8) et (10, 10).
Maintenant, écrivons des codes qui nous aideront à utiliser la fonction de géométrie de la grille dans notre programme Python. Assurez-vous d'exécuter ces exemples de programmes pour une meilleure compréhension.
Exemple 1
Dans ce cas, nous vous montrerons une grille 2 × 2. Nous définirons l'étiquette de chaque cellule comme (0, 0), (0, 1), (1, 0) et (1, 1) pour vous montrer comment la grille les a placées en ordre. Tout d'abord, nous fabriquons un module racine tk () afin d'obtenir un environnement d'affichage. Après cela, nous utiliserons la fonction étiquette () afin de définir le texte pour chaque cellule de la grille. Et puis, nous utiliserons la fonction Grid () pour placer chaque étiquette () dans la cellule d'une grille (). Regardez le code fourni ci-dessous:
de Tkinter Import *
de Tkinter.TTK IMPORT *
r = tk ()
l1 = label (r, text = "(0,0)")
l2 = label (r, text = "(0,1)")
l3 = label (r, text = "(1,0)")
l4 = label (r, text = "(1,1)")
L1.grille (ligne = 0, colonne = 0, pady = 2)
L2.grille (ligne = 0, colonne = 1, pady = 2)
L3.grille (ligne = 1, colonne = 0, pady = 2)
L4.grille (ligne = 1, colonne = 1, pady = 2)
boucle principale()
Lorsque vous exécutez ce code, une fenêtre pop apparaîtra avec une grille de (0, 0), (0, 1), (1, 0) et (1, 1) étiquettes. Voici la fenêtre pop de sortie:
Exemple 2
Créons un widget qui prend les entrées de l'utilisateur. Dans cet exemple, nous développerons l'exemple précédent et mettrons un widget contre chaque colonne qui prendra les commentaires de l'utilisateur. Reportez-vous au code ci-dessous.
Comme nous l'avons développé sur l'exemple précédent, nous avons juste ajouté la fonction Entrée () pour ajouter le widget d'entrée dans la grille. La fonction entrée () fournie par la bibliothèque Tkinter est utilisée pour obtenir l'entrée de chaîne à ligne unique de l'utilisateur. Après la fonction Entrée (), nous venons de définir les valeurs de grille () pour les cellules d'entrée. Lorsque vous exécutez le code ci-dessus, vous obtiendrez une fenêtre pop contenant 4 cellules remplies de texte et 4 cellules avec un onglet d'entrée. Dans chaque onglet, vous pouvez entrer une chaîne en une ligne.
de Tkinter Import *
de Tkinter.TTK IMPORT *
r = tk ()
l1 = label (r, text = "première entrée")
l2 = label (r, text = "deuxième entrée")
l3 = label (r, text = "troisième entrée")
l4 = label (r, text = "quatrième entrée")
L1.grille (ligne = 0, colonne = 0, pady = 2)
L2.grille (ligne = 2, colonne = 0, pady = 2)
L3.grille (ligne = 0, colonne = 1, pady = 2)
L4.grille (ligne = 2, colonne = 1, pady = 2)
E1 = entrée (R)
E2 = entrée (R)
E3 = entrée (R)
E4 = entrée (R)
E1.grille (ligne = 1, colonne = 0, pady = 2)
E2.grille (ligne = 3, colonne = 0, pady = 2)
E3.grille (ligne = 1, colonne = 1, pady = 2)
E4.grille (ligne = 3, colonne = 1, pady = 2)
boucle principale()
Voir le widget de sortie de la grille ci-dessous:
La fonction entrée () accepte une chaîne de ligne contenant n'importe quel caractère; Il peut s'agir d'un nombre, ou il peut être un symbole, ou cela peut également être un caractère spécial. Voir la grille de sortie ci-dessous:
Exemple 3
Dans l'exemple précédent, vous pouvez observer que nous avons utilisé une déclaration distincte pour créer chaque cellule. Par exemple, nous avions besoin d'une grille de taille 2 × 2, 4 cellules dans une grille, nous avons donc utilisé 4 lignes de code. Et si nous avons besoin d'une grille de taille 100 × 100? La création d'une grille de 100 × 100 nécessitera 10 000 lignes de code? Absolument pas. Vous pouvez obtenir le même résultat en utilisant des boucles. Il ne réduira pas seulement les lignes de code, mais augmentera également l'efficacité du programme réduisant la probabilité d'erreurs en même temps.
Ici, nous utiliserons une boucle imbriquée pour faire une grille de taille définie. Nous allons définir deux pour les boucles itérant à travers 10 lignes et 10 colonnes pour faire une grille de taille 10 × 10. Voyons le code ci-dessous:
Ici, nous avons défini un module root () pour obtenir un environnement d'affichage, puis nous avons ajouté imbriqué pour la boucle pour la ligne et la colonne, «pour la ligne dans la gamme (10)» et «pour Col in Range (10)». Cela se traduira par une grille de taille 10 × 10. La première boucle irate de 0 à 9, et la deuxième boucle irate également de 0 à 9, ce qui fait une grille de taille 10 × 10. Pour imprimer le numéro d'index pour chaque cellule, nous avons utilisé la fonction de texte de la fonction d'étiquette (), «Text =« Row% s - col% s ». Le «% s» est utilisé pour obtenir l'indice de cellule à partir de la boucle.
Importer Tkinter
r = tkinter.Tk ()
pour la rangée dans la gamme (10):
pour Col dans la gamme (10):
tkinter.Étiquette (r, text = 'row% s - col% s'% (row, col),
BorderWidth = 1).grille (ligne = ligne, colonne = col)
r.boucle principale()
Voici la grille de taille 10 × 10 générée à partir du code ci-dessus:
Conclusion
Dans cet article, nous avons appris la fonction Grid () fournie par la bibliothèque Tkinter. La fonction de grille est utilisée pour créer une grille carrée ou rectangulaire dans un environnement d'affichage. Nous avons démontré quelques exemples utiles pour vous aider à comprendre comment utiliser une fonction de grille dans un programme Python.