x = IntVar()
x.set(1)
def add():
x.set(x.get()+1)
我正在使用这段代码更新我正在制作的tkinter测验中的问题编号。
self.recordNum = Label(self.quizf, text=x)
self.recordNum.pack()
self.Submit = Button(self.quizf, text = 'submit', command=lambda:[self.confirmAnswer(),add()])
我使用lambda
所以我可以在同一个按钮中有两个命令,我需要self.confirmAnswer
运行if语句来检查答案,add
命令激活第一个上面显示的代码。
当我运行测验PY_VAR4
显示而不是数字时,感谢您的帮助! :)
答案 0 :(得分:1)
self.recordNum = Label(self.quizf, text=x.get())
self.recordNum.pack()
self.Submit = Button(self.quizf, text = 'submit', command=lambda:[self.confirmAnswer(),add()])
在标签中,您必须使用x.get()
而不是x
,因为您需要x
的值。
只需使用x
即可引用仅为PY_VAR
的对象。引用末尾的4
仅表示用于区分其他变量的变量号。在这种情况下,到目前为止,程序总共声明了5个变量,因为引用从PY_VAR0
开始......一直到...... PY_VAR4
。
使用x.get()
将获取存储在引用所指向的对象中的值。
所以代替:self.recordNum = Label(self.quizf, text=x)
使用:self.recordNum = Label(self.quizf, text=x.get())
答案 1 :(得分:0)
您需要使用“textvariable”作为变量的参数。然后标签将自行更新。