我正在尝试创建一个修补窗口,其中有一个向标签添加字符串以使其更长的按钮。
这是在Spyder,Python 3.7中,使用模块tkinter。 在尝试创建计算器的过程中,我创建了一个“除此以外的尝试”以创建变量(以防万一已创建),然后创建一个函数来更改变量“ resu”的值,并添加“ operator” '并更改标签。
这样,每当我按下按钮时,标签的文字就会多一个*。
代码的重要部分是:
lbl=Label(window, text="Hello")
try:
temp=resu
except:
resu=""
def clicked(operator):
global resu
resu += operator
lbl.configure(text=resu)
btn=Button(ventana, text="*", command=clicked("*"))
它并没有按照我想要的显示,而是从开始处显示一个*,而不是Hello,并且当我单击按钮时,什么也没有发生,无论我按了多少次,它仍然只是一个*。
在执行之前,我已经删除了所有变量,并在没有tkinter东西的情况下在外部程序中尝试了它:
try:
temp=res
except:
res=""
def clicked(operator):
global res
res= res + operator
clicked("*")
print(res)
您是否知道为什么它无法按我预期的那样工作?
谢谢,伙计们