Python 2.7 Tkinter 在if内重新绘制控件

1 投票
1 回答
515 浏览
提问于 2025-04-17 17:50

我在使用Python 2.7的Tkinter时遇到了问题。我有一个主窗口,里面有一个按钮。我想在点击这个按钮后重新绘制窗口(并且改变一个变量的值——也就是添加一个新的控件)。请问问题出在哪里呢?我觉得可能是因为每次主循环运行时,变量都被重置为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()

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()

撰写回答