1

我在 Python 2.7 中的 Tkinter 代码有问题。我有一个带有一个小部件(按钮)的主窗口。单击按钮后,我想重绘窗口(并更改变量的值-> 添加一个小部件)。问题出在哪里?我认为这个问题可能是 mainloop 的每个循环都将变量更改为 0。谢谢!

from Tkinter import *

def function():
    global variable
    variable = 0
    main.update()

variable = 0
main = Tk() #New Tk window

if variable == 1:
    Checkbutton(main, text="test").pack()

Button(main, text="Change", command=function).pack()

main.mainloop()
4

1 回答 1

0

您永远不会将变量设置为 1,并且在使用 GUI 时应该使用函数(和类)。

from Tkinter import *
main = Tk() #New Tk window
variable = 0

def function():
    global variable
    variable = 1
    newThing()

def newThing(): 
   global variable
   if variable==1:
       Checkbutton(main, text="test").pack()
   variable = 0

Button(main, text="Change", command=function).pack()
main.mainloop()
于 2013-03-04T09:05:07.683 回答