我对Tkinter很新,但是开始尝试在我的脚本中添加更复杂的GUI。所以这必须是非常基本的,但我无法弄清楚出了什么问题。
我想要的是非常简单,一堆数据输入选项,底部是退出和提交按钮。似乎mainloop()或其他东西在没有任何用户输入的情况下继续运行按钮的命令。因此,由于退出按钮,applet在它出现之前就被销毁了。如果我把按钮放在mainloop()之外,没有问题,但当然没有意义,按钮也没有出现。
button_exit = Tkinter.Button(root, text = 'Exit', command = root.destroy())
button_exit.grid(row=3, column=0, pady=10, sticky='E')
button_query = Tkinter.Button(root, text = 'Query', command = intQuery())
button_query.grid(row=3, column=1, padx=10, sticky='E')
root.mainloop()
这基本上是代码的问题区域。其余的只是数据输入字段,大部分脚本甚至尚未编写。
提前致谢。
答案 0 :(得分:3)
更改
command = root.destroy()
到
command = root.destroy
原因是:括号调用方法,并且在传递给方法之前计算方法参数。这就是你的程序过早退出的原因。
没有括号,您将该方法引用为对象,可以将其传递给Tkinter.Button,存储,并在按下按钮后调用。
然后对command = intQuery()
执行相同操作。