Python, Tkinter, 如何根据按钮点击改变GUI
我在做一个编程作业,使用的是Tkinter这个工具,遇到了一个问题。
我想让用户在一个文本框里输入一个数字,然后当他们点击提交按钮时,程序根据输入的数字在界面上添加额外的字段。
我尝试把相关的代码放在一个叫'displayText()'的函数里,这个函数是在用户点击提交按钮时被调用的;但是,我放进去的和界面相关的代码却是在窗口加载的时候就被执行了。
import tkinter
#When user clicks on button
def displayText():
#DO CHANGE IN GUI
root = tkinter.Tk()
button = tkinter.Button(root, text="Submit", command=displayText())
button.pack()
root.mainloop()
1 个回答
5
问题出在这行代码上:
button = tkinter.Button(root, text="Submit", command=displayText())
command
这个选项需要的是一个对命令的引用。而你现在做的是调用了一个命令(displayText()
),然后把这个命令的结果给了选项。你需要去掉()
,这样才能把真正要执行的命令和这个选项关联起来,像这样:
button = tkinter.Button(root, text="Submit", command=displayText)