到目前为止,我有一个相当简单的程序,只有几个按钮上有事件。但是,当我运行程序时,一旦启动按钮,按钮事件就会触发。在
我的代码中最麻烦的部分如下:
def initUI(self):
self.parent.title("Windows")
self.style = Style()
self.style.theme_use("default")
self.pack(fill=BOTH, expand=1)
abtn = Button(self, text="Open", command=load_file(area))
abtn.grid(row=1, column=3)
cbtn = Button(self, text="Close", command=self.parent.destroy)
cbtn.grid(row=2, column=3, pady=4)
我一行接一行地运行它,加载文件(这是一个打开的文件对话框,区域是我先前初始化的画布)事件甚至在下一个按钮初始化或窗口可见之前就打开了。 尽可能具体地说:我不想让它在没有我点击按钮的情况下启动。那我做错什么了?在
编辑:
这是加载_文件事件:
^{pr2}$
它应该是
command=lambda: load_file(area)
。在command=load_file(area)
将调用load_file
,并将返回值设置为command
在下一行中,代码不是
load_file
,而是调用load_file
并绑定函数调用的返回值。在使用
^{pr2}$labmda
将其替换为函数对象:相关问题 更多 >
编程相关推荐