将文件拖放到 Tkinter Gui

Luc*_*uca 5 python drag-and-drop tkinter

假设:我正在使用 Python 3.6 并且我正在使用 Windows 10

是否可以使用tkinter创建一个GUI,其中在窗口中拖动文件会返回文件的路径?

如果使用 tkinter 是不可能的,是否有另一种解决方案可以在不安装其他库的情况下解决问题?

小智 1

您需要安装 tkinterdnd2

pip install tkinterdnd2
Run Code Online (Sandbox Code Playgroud)

代码:

from tkinter import TOP, Entry, Label, StringVar
from tkinterdnd2 import *


def get_path(event):
    pathLabel.configure(text = event.data)

root = TkinterDnD.Tk()
root.geometry("350x100")
root.title("Get file path")

nameVar = StringVar()

entryWidget = Entry(root)
entryWidget.pack(side=TOP, padx=5, pady=5)

pathLabel = Label(root, text="Drag and drop file in the entry box")
pathLabel.pack(side=TOP)

entryWidget.drop_target_register(DND_ALL)
entryWidget.dnd_bind("<<Drop>>", get_path)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)