Skip to main content

tkinterDnD

A nice and easy-to-use wrapper around the tkdnd package. No tcl installation, no build is required, just install and use it!

Install

The Pypi name is python-tkdnd, because tkinterDnD was already taken, but you can import the package as tkinterDnD

pip3 install python-tkdnd

or if you're using a distro like Windows 7, 10, or 11 replace pip3 with pip

Credits

Copyright (c) 2021 rdbende
Copyright (c) 2012-2020 Petasis - the tkdnd package
Copyright (c) 2020 Philippe Gagné - for Mac binaries
Copyright (c) 2017 Michael Lange - the TkinterDnD package

Little example

import tkinter as tk
from tkinter import ttk
import tkinterDnD  # Importing the tkinterDnD module

# You have to use the tkinterDnD.Tk object for super easy initialization,
# and to be able to use the main window as a dnd widget
root = tkinterDnD.Tk()  
root.title("tkinterDnD example")

stringvar = tk.StringVar()
stringvar.set('Drop here or drag from here!')


def drop(event):
    # This function is called, when stuff is dropped into a widget
    stringvar.set(event.data)

def drag_command(event):
    # This function is called at the start of the drag,
    # it returns the drag type, the content type, and the actual content
    return (tkinterDnD.COPY, "DND_Text", "Some nice dropped text!")


# Without DnD hook you need to register the widget for every purpose,
# and bind it to the function you want to call
label_1 = tk.Label(root, textvar=stringvar, relief="solid")
label_1.pack(fill="both", expand=True, padx=10, pady=10)

label_1.register_drop_target("*")
label_1.bind("<<Drop>>", drop)

label_1.register_drag_source("*")
label_1.bind("<<DragInitCmd>>", drag_command)


# With DnD hook you just pass the command to the proper argument,
# and tkinterDnD will take care of the rest
# NOTE: You need a ttk widget to use these arguments
label_2 = ttk.Label(root, ondrop=drop, ondragstart=drag_command,
                    textvar=stringvar, padding=50, relief="solid")
label_2.pack(fill="both", expand=True, padx=10, pady=10)


root.mainloop()

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-tkdnd-0.2.1.tar.gz (157.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_tkdnd-0.2.1-py3-none-any.whl (172.6 kB view details)

Uploaded Python 3

File details

Details for the file python-tkdnd-0.2.1.tar.gz.

File metadata

  • Download URL: python-tkdnd-0.2.1.tar.gz
  • Upload date:
  • Size: 157.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for python-tkdnd-0.2.1.tar.gz
Algorithm Hash digest
SHA256 dbce480c1ab5923075aa6fa02e8ae85b984886dfaf20c82d20d78420ad19451b
MD5 081d6b466c6b3f09c9a67ad12af7f48d
BLAKE2b-256 3abf06781b8ecdff505d021996fab9ebb8cc18606576f0ed34d0d6d75b337b6f

See more details on using hashes here.

File details

Details for the file python_tkdnd-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: python_tkdnd-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 172.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for python_tkdnd-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e476f02c5a9f36361f494cb9e6bc4515790e224a22b4d14b8fbd90d7c1fc0e81
MD5 2a2e56ff566e0a4e07c0f7924efcce70
BLAKE2b-256 952850130cd6667454c7c04100e8697e70c03428c8a672ba0f60601b6a6f1e02

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2

2 files

0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page