如何让tkinter按钮在嵌套函数中破坏/退出根窗口?

时间:2019-05-17 02:31:57

标签: tkinter python-3.7

我正在尝试使用它,以便在按下tkinter按钮时分配一个值,然后退出gui。

我的问题是root.quit除了调用它的函数之外,甚至嵌套函数都没有作用。

代码:


from tkinter import Tk,Button
def buttonDialogWindow():
    root = Tk()
    def buttonPress(isHeadArg):
        #Do something
        root.quit
Button(root, text='Front of String', command = buttonPress(1)).pack() Button(root, text='Back of String', command = buttonPress(0)).pack() root.protocol("WM_DELETE_WINDOW", root.quit) root.mainloop() buttonDialogWindow()

运行代码使按钮出现。单击它们对GUI无效,并且mainloop不会退出。

1 个答案:

答案 0 :(得分:0)

答案:

问题在于,当我设置command的值时,我在调用函数而不是声明它。使用括号使该函数被调用-如果您没有参数,通常的写方法是

command = buttonPress

如果您确实有参数,我发现了使用lambda的解决方法:我的代码当前具有

command = lambda: buttonPress(1)

用于命令。