大佬求救 python3 上我的 tkinterdnd2 写法有什么问题么

343 天前
 rrZ2C
我问过 chatGpt 他一直跟我绕圈圈,google 的之后我总觉得代码没啥问题= =,秋指点打醒


问题是我拽文件到 file_label 的时候光标有出现+(拽入功能应该是启用),不知道为什么没有打印



import tkinter as tk

from tkinterdnd2 import TkinterDnD, DND_FILES

views:
# 创建 drop
self.file_label = tk.Label(self.master, text="Drop Files Here", relief=tk.SUNKEN,width=30, height=5)
self.file_label.pack(pady=20)

# 启用拖放功能
self.file_label.drop_target_register(DND_FILES)
self.file_label.dnd_bind('<<Drop>>', self.handle_drop)



def handle_drop(self, event):
# 检查是否为文件拖放事件
print(" on handle_drop!")
if event.data:
file_path = event.data
print(f"文件路径: {file_path}")
self.handle_file(file_path)
else:
print("非文件拖放事件")



-----------

我之前用 windnd 是可以正常运作的,现在想迁移到 linux 接受拽入单独创建个区域

-import windnd
if __name__ == "__main__":
- root = tk.Tk()
+ root = TkinterDnD.Tk()
app = ConfigEditor(root)
- windnd.hook_dropfiles(root , func=app.handle_drop)
root.mainloop()
676 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1000680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX