Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drag and drop files onto a Tkinter Gui

Assumption: I'm using Python 3.6 and I'm working on Windows 10

Is possible to create a GUI with tkinter in which dragging a file in the window it returns the path of the file?

If with tkinter it's not possible, is there another solution that can solve the problem without installing additional libraries?

like image 953
Luca Avatar asked Nov 17 '22 23:11

Luca


1 Answers

You need to install tkinterdnd2

pip install tkinterdnd2

code:

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()
like image 195
Kirito Avatar answered Dec 22 '22 07:12

Kirito