我问过 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()
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1000680
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.