Я хочу перетаскивать элементы в графический интерфейс. Я считаю, что это возможно с tkinter? Но всякий раз, когда я пытаюсь запустить это, я получаю эту ошибку:
File "/Users/USER/Documents/GitHub/RegExorcist/regexorcist.py", line 92, in <module>
window = TkinterDnD.Tk()
^^^^^^^^^^^^^^^
File "/opt/homebrew/lib/python3.12/site-packages/tkinterdnd2/TkinterDnD.py", line 285, in __init__
self.TkdndVersion = _require(self)
^^^^^^^^^^^^^^
File "/opt/homebrew/lib/python3.12/site-packages/tkinterdnd2/TkinterDnD.py", line 55, in _require
raise RuntimeError('Unable to load tkdnd library.')
RuntimeError: Unable to load tkdnd library.
Вот что я добавил в свой код:
from tkinterdnd2 import TkinterDnD, DND_FILES
# GUI
window = TkinterDnD.Tk()
window.title('RegExorcist')
# Bind drag-and-drop events
window.drop_target_register(DND_FILES)
window.dnd_bind('<<Drop>>', on_drop)
window.dnd_bind('<<DragEnter>>', on_drag_enter)
Я установил tkinter, tkinterdnd, tkinterdnd2.
Как заставить код работать и убрать ошибку?
Дополнительная информация:
Я на VC Code. У меня есть Python 3.12.3/opt/homebrew/bin/python3, Python 3.12.3/usr/local/bin/python3 и один Python 3.9.6/usr/bin/python3. Я использую для этого первый. Когда я использую второй, tkinterdnd становится желтым.
Вы случайно не запускаете свой проект в виртуальной среде? Или, возможно, у вас установлено более одного интерпретатора Python (что довольно часто встречается на Mac).
Я на VC Code. У меня есть Python 3.12.3/opt/homebrew/bin/python3, Python 3.12.3/usr/local/bin/python3 и один Python 3.9.6/usr/bin/python3. Я использую для этого первый. Когда я использую второй, tkinterdnd становится желтым.
Особая благодарность TheLizzard за то, что удалили мои напыщенные речи об этой платформе. Я не против, по крайней мере, я смог это опубликовать.
Попробуйте установить tkinterdnd2-universal вместо tkinterdnd2.
Спасибо @acw1668, кто-то опередил вас на Reddit, но для всех, у кого возникла эта проблема, вот и все.






Я установил tkinterdnd2-universal вместо tkinterdnd2, и это устранило проблему.
Именно по этой причине я всегда воздерживаюсь от использования Stackoverflow. На Reddit я могу просто создать публикацию за 2 минуты, не боясь потерять прогресс, потому что тупой ИИ этого сайта не примет публикацию. Я единственный, кто испытывает это?