Comment changer la taille des boutons Tkinter

Jinku Hu 30 janvier 2023
  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
Comment changer la taille des boutons Tkinter

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

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - Tkinter Button