Tkinter按钮事件加载时触发

2024-06-21 20:41:36 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我有一个相当简单的程序,只有几个按钮上有事件。但是,当我运行程序时,一旦启动按钮,按钮事件就会触发。在

我的代码中最麻烦的部分如下:

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}$

Tags: 文件textself程序style事件columnbutton
2条回答

它应该是command=lambda: load_file(area)。在

command=load_file(area)将调用load_file,并将返回值设置为command

在下一行中,代码不是load_file,而是调用load_file并绑定函数调用的返回值。在

abtn = Button(self, text="Open", command=load_file(area))

使用labmda将其替换为函数对象:

^{pr2}$

相关问题 更多 >