簡體   English   中英

如何防止 label 文本長度更改時 tkinter 按鈕移動?

[英]How to prevent tkinter buttons from moving when label text length change?

我有以下示例:

from tkinter import *
number = 0
​
window = Tk()
window.title("Program")
window.geometry('350x250')
​
label = Label(window, text=number)
label.grid(column=0,row=0)
​
def clicked_up():
    global number
    number += 1
    label.config(text=number)
​
def clicked_down():
    global number
    number -= 1
    label.config(text=number)
​
button1 = Button(window, text="Up", command=clicked_up)
button1.grid(column=1, row=1)
button2 = Button(window, text="Down", command=clicked_down)
button2.grid(column=2, row=1)
window.mainloop()

它根據DownUp按下的按鈕增加變量number (或減少它)。

問題是,當 Label 中的文本(這里是增加/減少變量的結果)改變長度時,按鈕正在移動(例如:一旦長度大於 2,即 10 或 100,或對於負數,-100 也很明顯)

我環顧四周,但認為我沒有找到解決方案,至少基於上面的例子。

有什么辦法可以做到這一點?

Label可以使用width=number_of_chars來定義新字符的位置

label = Label(window, text=number, width=10)

或者

Label 應該使用columnspan=3在網格中使用 3 列。

label.grid(column=0, row=0, columnspan=3)

Eventullay 它可能需要sticky='w'將其對齊到單元格的west

label.grid(column=0, row=0, columnspan=3, sticky='w')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM