So ändern Sie die Größe der Tkinter-Schaltfläche
-
Spezifizieren Sie die Optionen
height
undwidth
, um die Größe desButton
-Widgets festzulegen -
Setzen Sie
width
undheight
in Pixeln des Tkinter-Buttons
-
Tkinter
Button
-Größe nach der Initialisierung ändern
Die Optionen height
und width
des Tkinter Button
Widgets legen die Größe des erstellten Buttons während der Initialisierung fest. Nach der Initialisierung könnten wir immer noch die Methode configure
verwenden, um die Optionen height
und width
zu konfigurieren, um die Größe des Tkinter Button
-Widgets programmgesteuert zu ändern.
Spezifizieren Sie die Optionen height
und width
, um die Größe des Button
-Widgets festzulegen
tk.Button(self, text="", height=20, width=20)
Die height
und die width
werden auf 20
in der Einheit der Texteinheiten gesetzt. Die horizontale Texteinheit ist gleich der Breite des Zeichens 0
, und die vertikale Texteinheit ist gleich der Höhe von 0
, beides in der Standardschriftart des Systems.
Vollständige Arbeitscodes
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()
Wie Sie sehen konnten, sind Höhe und Breite des Buttons in den Pixeln nicht gleich, obwohl seine width
und height
beide auf 10
eingestellt sind.
Setzen Sie width
und height
in Pixeln des Tkinter- Buttons
Wenn wir die Breite und/oder Höhe des Tkinter Button
-Widgets in der Einheit pixel
angeben müssen, könnten wir dem Button
ein virtuell unsichtbares 1x1
-Pixel-Bild hinzufügen. Dann werden die width
und die height
in der Einheit pixel
gemessen.
tk.Button(app, text="Button 1", image=pixelVirtual, width=100, height=100, compound="c")
Wir müssen auch die Option compound
auf c
oder ebenso tk.CENTER
setzen, wenn das unsichtbare Bild und der Text im Button zentriert werden sollen. Wenn compound
nicht konfiguriert ist, wird der text
in der Schaltfläche nicht angezeigt.
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()
Tkinter Button
-Größe nach der Initialisierung ändern
Nachdem das Button
-Widget erstellt wurde, könnte die configure
-Methode die Optionen “Breite” und/oder “Höhe” setzen, um die Größe des Button
-Widgets zu ändern.
buttonExample1.configure(height=100, width=100)
Sie setzt die height
und die width
von ButtonBeispiel1
auf 100
.
Vollständige Arbeitsbeispiele zur Änderung der Größe von Buttons nach der Initialisierung
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()
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