Comment changer la taille des boutons Tkinter

  1. Spécifier les options height et width pour définir la taille du Bouton
  2. Définissez la width et la height en pixels du bouton de Tkinter
  3. Changer la taille du bouton Tkinter après l’initialisation

Les options height et width du widget Tkinter Button spécifient la taille du bouton créé lors de l’initialisation. Après l’initialisation, nous pouvons toujours utiliser la méthode configure pour configurer les options height et width afin de modifier la taille du widget Tkinter Button par programmation.

Spécifier les options height et width pour définir la taille du Bouton

tk.Button(self, 
          text = "", 
          height = 20, 
          width = 20)

La height et la width sont fixées à 20 dans l’unité des unités de texte. L’unité de texte horizontale est égale à la largeur du caractère 0, et l’unité de texte verticale est égale à la hauteur de 0, toutes deux dans la police par défaut du système.

Note

La raison pour laquelle Tkinter utilise des unités de texte pour mesurer la largeur et la hauteur, mais pas les pouces ou les pixels, est que l’unité de texte assure la cohérence du comportement de Tkinter sur les différentes plateformes.

Codes de travail complets

import tkinter as tk
import tkinter.font as tkFont
    
app = tk.Tk()
app.geometry("400x200")

    
buttonExample1 = tk.Button(app,
                           text="Button 1",
                           width=10,
                           height=10)
buttonExample2 = tk.Button(app,
                           text="Button 2",
                           width=10,
                           height=10)

buttonExample1.pack(side=tk.LEFT)
buttonExample2.pack(side=tk.RIGHT)

app.mainloop()

Bouton Tkinter réglage de la hauteur et de la largeur

Comme vous avez pu le constater, la hauteur et la largeur du bouton ne sont pas les mêmes en pixels, bien que sa width et sa height soient toutes deux fixées à 10.

Définissez la width et la height en pixels du bouton de Tkinter

Si nous devons spécifier la largeur et/ou la hauteur du widget Tkinter Button dans l’unité des pixels, nous pourrions ajouter une image virtuelle invisible de 1x1 pixels au Button. La width et la height seront alors mesurées dans l’unité du pixel.

tk.Button(app,
          text="Button 1",
          image=pixelVirtual,
          width=100,
          height=100,
          compound="c")

Nous devons également définir l’option composée comme étant c ou également tk.CENTER si l’image et le texte invisibles doivent être centrés dans le bouton. Si l’option compound n’est pas configurée, le text n’apparaîtra pas dans le bouton.

import tkinter as tk
import tkinter.font as tkFont
    
app = tk.Tk()
app.geometry("300x100")
fontStyle = tkFont.Font(family="Lucida Grande", size=20)

labelExample = tk.Label(app, text="20", font=fontStyle)

pixelVirtual = tk.PhotoImage(width=1, height=1)
    
buttonExample1 = tk.Button(app,
                           text="Increase",
                           image=pixelVirtual,
                           width=100,
                           height=100,
                           compound="c")
buttonExample2 = tk.Button(app,
                           text="Decrease",
                           image=pixelVirtual,
                           width=100,
                           height=100,
                           compound="c")

buttonExample1.pack(side=tk.LEFT)
buttonExample2.pack(side=tk.RIGHT)
app.mainloop()

Changer la taille du bouton Tkinter après l’initialisation

Après la création du widget Button, la méthode configure peut définir les options width et/ou height pour modifier la taille du Button.

buttonExample1.configure(height = 100,
                             width = 100)

Elle fixe la height et la width du buttonExample1 à 100.

Exemples de travail complets pour modifier la taille des boutons après l’initialisation

import tkinter as tk
import tkinter.font as tkFont
    
app = tk.Tk()
app.geometry("600x500")

def decreaseSize():
    buttonExample1.configure(height = 100,
                             width = 100)

def increaseSize():
    buttonExample2.configure(height = 400,
                             width = 400)

pixelVirtual = tk.PhotoImage(width=1, height=1)
    
buttonExample1 = tk.Button(app,
                           text="Decrease Size",
                           image=pixelVirtual,
                           width=200,
                           height=200,
                           compound="c",
                           command = decreaseSize)
buttonExample2 = tk.Button(app,
                           text="Increase Size",
                           image=pixelVirtual,
                           width=200,
                           height=200,
                           compound=tk.CENTER,
                           command = increaseSize)

buttonExample1.pack(side=tk.LEFT)
buttonExample2.pack(side=tk.RIGHT)
app.mainloop()

Changement de Tkinter Taille des boutons

Article connexe - Tkinter Button

  • Comment changer la couleur des boutons Tkinter
  • Comment mettre à jour le texte du bouton Tkinter