簡體   English   中英

帶輸入框的 Python Tkinter askopenfile

[英]Python Tkinter askopenfile with entry box

我希望任何人都知道如何將 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()方法來顯示所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM