显示PY_VAR4而不是numb

2024-09-30 08:28:13 发布

您现在位置:Python中文网/ 问答频道 /正文

x = IntVar()
x.set(1)
def add():
    x.set(x.get()+1)

我用这段代码来更新我正在做的一个小测验的问题编号。在

^{pr2}$

我使用了lambda,这样我可以在同一个按钮中有两个命令,这是我需要的,因为self.confirmAnswer运行if语句来检查答案,add命令将激活上面显示的第一段代码。在

当我运行测试时,PY_VAR4显示而不是数字,谢谢你的帮助!:)


Tags: lambda代码命令selfaddgetifdef
2条回答

您需要使用“textvariable”作为变量的参数。然后标签会自动更新。在

self.recordNum = Label(self.quizf, text=x.get())
self.recordNum.pack()

self.Submit = Button(self.quizf, text = 'submit', command=lambda:[self.confirmAnswer(),add()])

{{{cd2>中的值{{cd2}你只需要使用。在

仅仅使用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())

可能重复:Tkinter IntVar returning PY_VAR0 instead of value

相关问题 更多 >

    热门问题