Go to file
TechDudie 32d0af883f
Update README.md
2022-03-02 09:22:21 -06:00
LICENSE Initial commit 2021-03-02 22:28:10 -06:00
README.md Update README.md 2022-03-02 09:22:21 -06:00
tkinterDnD.py Update tkinterDnD.py 2021-04-01 10:11:05 -05:00

README.md

tkinterDnD

Tkinter Drag-N-Drop module.

Import this module with

import tkinterDnD as dnd

To make a widget draggable, do

dnd.make_draggable(widget)

To make a draggable widget inside a frame, do

dnd.make_draggable(frame)
dnd.make_draggable_component(widget)

Here's an example of this module being put to use.

import tkinter
import tkinterDnD as dnd
tk = tkinter.Tk()
tk.title("tkinterDnD")
frame = tkinter.Frame(tk, bd=4, height=64, width=64, bg="red")
frame.place(x=0,y=0)
dnd.make_draggable(frame)
label = tkinter.Label(frame, text="Hello", bg="red", wraplength=64, justify=tkinter.CENTER)
label.config(highlightbackground="black")
label.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)
dnd.make_draggable_component(label)
frame = tkinter.Frame(tk, bd=4, height=64, width=64, bg="green")
frame.place(x=0,y=0)
dnd.make_draggable(frame)
label = tkinter.Label(frame, text="World", bg="green", wraplength=64, justify=tkinter.CENTER)
label.config(highlightbackground="black")
label.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)
dnd.make_draggable_component(label)
tk.mainloop() 

Side note: The module has a default snap grid of 16x16 units.

Set the snap grid with dnd.set_grid(grid)