【问题标题】:Simplest way to open a file in tkinter在 tkinter 中打开文件的最简单方法
【发布时间】:2014-10-28 11:32:28
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    代码传递的是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()
    

    【讨论】:

    • 我的初始代码,为什么一运行代码就打开一个对话框?
    • @JakeLevi,因为代码调用了函数。 openfile(): ()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多