Formation PUB400 : Python, 2018 Environnement graphique tkinter

9.15 Truc pour centrer le contenu d'une fenêtre


Voici un petit truc intéressant pour centrer le contenu d'une fenêtre lorsqu'on utilise le positionnement grid() alors que la fenêtre a une largeur minimale.

  • N'entrez rien dans la colonne 0 ni dans la dernière colonne de votre grille.
  • Donnez ensuite un poids à ces colonnes afin que tkinter ajuste leur largeur à tout ce qui est disponible. Les colonnes situées entre les deux se retrouveront centrées.

Voici un exemple de fenêtre dans laquelle tout est placé dans la colonne 1. Les colonnes 0 et 2 sont utilisées pour le centrage.

Il aurait été possible d'utiliser plusieurs colonnes, par exemple les colonnes 1, 2 et 3 et d'utiliser les colonnes 0 et 4 pour le centrage.

Python

# fenêtre principale

fenetre = Tk()

fenetre.minsize(width=350, height=500)

 

# titre de la page

titre_page = Label(fenetre, text='...')

titre_page.grid(row=1, column=1)   # tout le travail se fait dans la colonne 1. Les colonnes 0 et 2 servent à centrer le tout.

 

...

 

# pour centrer le tout horizontalement

fenetre.grid_columnconfigure(0, weight=1)

fenetre.grid_columnconfigure(2, weight=1)

 

# la fenêtre s'affiche puis attend les interactions de l'usager

fenetre.mainloop()

Pour plus d'information

« Centering grid inside a frame ». Python.org. https://mail.python.org/pipermail/tkinter-discuss/2015-June/003748.html

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre