Python 3.x tkinter Перетаскивание, предотвращающее нажатие меню? - PullRequest
0 голосов
/ 30 мая 2018

Что-то в методе drop_target_register (), кажется, отключает щелчок по строке меню до тех пор, пока файл не будет помещен в цель удаления.Я хотел бы, чтобы меню работало независимо от того, есть ли файл в перетаскивании.

Я использую Python 3.6.4, и это простой кусок кода, который отображает проблему.

from tkinter import *
from TkinterDnD2 import *

def drop(event):
    entry_sv.set(event.data)

root = TkinterDnD.Tk()

menubar = Menu(root)

menu = Menu(menubar, tearoff=0)
menu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=menu)

root.config(menu=menubar)

entry_sv = StringVar()
entry_sv.set('Drop Here...')
entry = Entry(root, textvar=entry_sv)
entry.pack(fill=X)
entry.drop_target_register(DND_FILES)
entry.dnd_bind('<<Drop>>', drop)

root.mainloop()

В PyCharm «drop_target_register» и «dnd_bind» оба отображают сообщение:

«Неразрешенная ссылка на атрибут« drop_target_register »для класса« Entry »Эта проверка обнаруживает имена, которые должны разрешаться, нонет. Из-за динамической отправки и утки это возможно в ограниченном, но полезном количестве случаев. Элементы верхнего уровня и уровня класса поддерживаются лучше, чем элементы экземпляра. "

Тем не менее,перетаскивание работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...