python - Python 3.x tkinter 拖放防止菜单可点击?
问题描述
关于 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' 中都显示消息:
“类‘Entry’的未解析属性引用‘drop_target_register’此检查检测到应该解析但不解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。顶级和类-级别项目的支持比实例项目更好。”
也就是说,拖放工作。
解决方案
推荐阅读
- python - 如何迭代数据框行并比较if条件中的值
- go - 对于int8 var,如何理解“-128 / -1”和“-128 * -1”的结果是-128?
- c++ - 按位常量和成员函数常量的区别
- scala - 如何在不使用 Volume/GCS 的情况下将临时 CSV/XLSX 文件存储在 kubernetes pod 中?
- java - 添加和删除只影响表而不影响列表我应该怎么做才能使其影响列表
- javascript - 是否可以在 const 中使用动态变量?
- c# - 防止 asp.net core 在错误期间删除响应标头
- python - 运行 selenium 时出现 NotADirectoryError
- python - 无法安装ecapture
- ios - 如果使用 cellForItemAtIndexPath,则在 UICollectionView 内设置动画 UIButton 不适用于第一个初始化