在tkinter中打开文件的最简单方法

时间:2014-10-28 11:32:28

标签: python user-interface python-3.x tkinter

尝试使用“打开文件”按钮制作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()

1 个答案:

答案 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()