【发布时间】:2021-08-23 18:49:02
【问题描述】:
所以我正在尝试制作某种基本的自动点击器,其排名会在一定数量的点击后更新,但每当我更新排名时,应该显示它的标签不会改变,我不会'不知道如何更新标签
from tkinter import *
count = 0
rank = "click the button to rank up!"
window = Tk()
if count == 1:
rank = "wow first click!"
def click():
global count
count += 1
counter = Label(window, text=count).grid(row = 0, column = 1)
clicker = Button(window, text="The Button", padx = 50, pady = 50, command = click).grid(row = 0, column = 0)
rankDisplay = Label(window, text = rank, padx = 100, pady = 25).grid(row = 1, column = 0)
window.mainloop()
第一次点击后,排名仍然显示为“点击按钮排名上升”而不是“哇第一次点击”,这几乎是问题
【问题讨论】:
-
if 语句将立即执行,而且您不需要在每次调用函数时都创建标签并且实际上是错误地创建它(与其他方法一样,因为布局管理器方法返回 None ),您只需
.config()小部件实例,例如,只需立即网格按钮但不指定文本(或使用 0 作为起始文本),然后只需执行label_instance.config(text=new_text) -
哦,好吧,有道理,我想我只是想错了,谢谢你的遮阳篷!
标签: python tkinter tkinter-label