尝试使用“打开文件”按钮制作GUI。当我运行下面显示的代码时,打开文件对话框会立即打开,而不是按下按钮时。为什么?有没有一种简单的方法来解决这个问题,而不涉及使用类? (我目前对课程一无所知,正在处理时间紧迫的项目)
from tkinter import *
interface = Tk()
def openfile():
return filedialog.askopenfilename()
button = ttk.Button(interface, text = "Open", command = openfile())
button.grid(column = 1, row = 1)
interface.mainloop()
答案 0 :(得分:2)
代码传递openfile
函数调用的返回值,而不是函数本身。通过删除导致呼叫的尾随()
来传递函数本身。
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
interface = Tk()
def openfile():
return filedialog.askopenfilename()
button = ttk.Button(interface, text="Open", command=openfile) # <------
button.grid(column=1, row=1)
interface.mainloop()