Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带输入框的Python Tkinter askopenfile_Python_Python 3.x_Tkinter_Python Os - Fatal编程技术网

带输入框的Python Tkinter askopenfile

带输入框的Python Tkinter askopenfile,python,python-3.x,tkinter,python-os,Python,Python 3.x,Tkinter,Python Os,我希望任何人都知道如何将askopenfile函数与输入框(tkinter)结合使用,以便在使用askopenfile选择后显示文件路径并在输入框中进行编辑。欢迎提出任何关于如何做到这一点的想法,谢谢 这可以通过为此小部件创建一个小型自定义类来实现 我制作了一个小部件,就是为了这个特定的原因: from tkinter import * from tkinter.filedialog import * class FilePathFrame(Frame): def __init__

我希望任何人都知道如何将askopenfile函数与输入框(tkinter)结合使用,以便在使用askopenfile选择后显示文件路径并在输入框中进行编辑。欢迎提出任何关于如何做到这一点的想法,谢谢

这可以通过为此小部件创建一个小型自定义类来实现

我制作了一个小部件,就是为了这个特定的原因:

from tkinter import *
from tkinter.filedialog import *


class FilePathFrame(Frame):

    def __init__(self, master, *args, **kwargs):
        super(FilePathFrame, self).__init__(master, *args, **kwargs)

        def entry_set(entry, text):
            entry.delete(0, 'end')
            entry.insert(END, text)

        item_label = Label(self, text="File Path: ", relief="flat", fg="gray40", anchor=W)
        item_label.pack()
        item_file = StringVar()
        item_entry = Entry(self, textvariable=item_file)
        item_entry.pack()
        item_button = Button(self, text="\uD83D\uDCC2", relief="groove",
                             command=lambda: (
                             entry_set(item_entry, askopenfilename()), item_entry.configure(fg="black")))
        item_button.pack()


window = Tk()
f = FilePathFrame(window)
f.pack()
window.mainloop()

显然,您需要确定如何显示它,我只是使用了
.pack()
方法来显示所有内容。

谢谢您的帮助,孤独的英雄:)!