Skip to main content

TkinterDnD2 is a python wrapper for George Petasis'' tkDnD Tk extension version 2

Project description

fork

This is fork of tkinterdnd2 which is a python wrapper for tkdnd .

major changes

⭐️Update all platform libtkdnd runtime files to the latest version, 2.9.3.

⭐️Add support for Apple Silicon macOS (arm64), Linux on ARM and Windows on ARM.

tkdnd
├── linux-arm64
│   ├── libtkdnd2.9.3.so
│   ├── pkgIndex.tcl
│   ├── tkdnd.tcl
│   ├── tkdnd_compat.tcl
│   ├── tkdnd_generic.tcl
│   ├── tkdnd_macosx.tcl
│   ├── tkdnd_unix.tcl
│   ├── tkdnd_utils.tcl
│   └── tkdnd_windows.tcl
├── linux-x64
│   ├── libtkdnd2.9.3.so
│   ├── pkgIndex.tcl
│   ├── tkdnd.tcl
│   ├── tkdnd_compat.tcl
│   ├── tkdnd_generic.tcl
│   ├── tkdnd_macosx.tcl
│   ├── tkdnd_unix.tcl
│   ├── tkdnd_utils.tcl
│   └── tkdnd_windows.tcl
├── osx-arm64
│   ├── libtkdnd2.9.3.dylib
│   ├── pkgIndex.tcl
│   ├── tkdnd.tcl
│   ├── tkdnd_compat.tcl
│   ├── tkdnd_generic.tcl
│   ├── tkdnd_macosx.tcl
│   ├── tkdnd_unix.tcl
│   ├── tkdnd_utils.tcl
│   └── tkdnd_windows.tcl
├── osx-x64
│   ├── libtkdnd2.9.3.dylib
│   ├── pkgIndex.tcl
│   ├── tkdnd.tcl
│   ├── tkdnd_compat.tcl
│   ├── tkdnd_generic.tcl
│   ├── tkdnd_macosx.tcl
│   ├── tkdnd_unix.tcl
│   ├── tkdnd_utils.tcl
│   └── tkdnd_windows.tcl
├── win-arm64
│   ├── libtkdnd2.9.3.dll
│   ├── pkgIndex.tcl
│   ├── tkdnd.tcl
│   ├── tkdnd2.9.3.lib
│   ├── tkdnd_compat.tcl
│   ├── tkdnd_generic.tcl
│   ├── tkdnd_macosx.tcl
│   ├── tkdnd_unix.tcl
│   ├── tkdnd_utils.tcl
│   └── tkdnd_windows.tcl
└── win-x64
    ├── libtkdnd2.9.3.dll
    ├── pkgIndex.tcl
    ├── tkdnd.tcl
    ├── tkdnd2.9.3.lib
    ├── tkdnd_compat.tcl
    ├── tkdnd_generic.tcl
    ├── tkdnd_macosx.tcl
    ├── tkdnd_unix.tcl
    ├── tkdnd_utils.tcl
    └── tkdnd_windows.tcl

7 directories, 56 files

this repo forked and edited to be published to pypi so one could simply install this package with pip install tkinterdnd2-universal.

install

pip install tkinterdnd2-universal

usage

import tkinter as tk

from tkinterdnd2 import DND_FILES, TkinterDnD

root = TkinterDnD.Tk()  # notice - use this instead of tk.Tk()

lb = tk.Listbox(root)
lb.insert(1, "drag files to here")

# register the listbox as a drop target
lb.drop_target_register(DND_FILES)
lb.dnd_bind('<<Drop>>', lambda e: lb.insert(tk.END, e.data))

lb.pack()
root.mainloop()

tkinterdnd2 example usage

see any of the demos for usage examples.

tkinterdnd2

Tkinter native drag and drop support for windows, unix and Mac OSX, both x86_64 and arm64.

What is TkInterDnD2

TkinterDnD2 is a python wrapper for George Petasis' tkDnD Tk extension version 2.

It is a domain public project.

What is TkDnD2

tkDnD is a tcl/Tk extension adding native drag and drop support.

What this repository is about

It package TkinterDnD2 and tkdnd2 into a standard python module.

When the extension is imported in python its location will be automatically added to the Tk search path.

In this project we made pre-compiled libraries from the source code of tkDnD repository and copy them into tkinterdnd2/tkdnd. The libraries used in this project are based on the latest version of tkdnd, which is 2.9.3.

pyinstaller

If you want to use pyinstaller, you should use the hook-tkinterdnd2.py ( you can find this file here ) file included. Copy it in the base directory of your project, then:

pyinstaller -F -w myproject/myproject.py --additional-hooks-dir=.

Thanks

petasis/tkdnd

pmgagne/tkinterdnd2

Eliav2/tkinterdnd2

@TransparentLC help on hook file for pyinstaller

Project details


Download files

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

Source Distribution

tkinterdnd2-universal-1.7.3.tar.gz (363.4 kB view details)

Uploaded Source

Built Distribution

tkinterdnd2_universal-1.7.3-py3-none-any.whl (404.7 kB view details)

Uploaded Python 3

File details

Details for the file tkinterdnd2-universal-1.7.3.tar.gz.

File metadata

  • Download URL: tkinterdnd2-universal-1.7.3.tar.gz
  • Upload date:
  • Size: 363.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for tkinterdnd2-universal-1.7.3.tar.gz
Algorithm Hash digest
SHA256 658b68cc6b733176993bfc72ad11d479c6d086c7c89e536668bab51a36c50e98
MD5 17914d1c14c25a0888a3cd8db614e890
BLAKE2b-256 6f1341448e4c49fd4afb0eaabb442d091fd3cdf0f2f94d95b2030591c7ab37e8

See more details on using hashes here.

File details

Details for the file tkinterdnd2_universal-1.7.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tkinterdnd2_universal-1.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5a0a5844c596951ed67c7b8c992abcced67fef87349557250de27419e12f70bf
MD5 d561bf0f2a2354a355fec6405e53dd50
BLAKE2b-256 d67683cb9e213f583719b78e16384a3a3d0d1bf83aabc4c99e3ae7fe735365eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page