ymhld 发表于 2020-1-17 22:30

python用tk想拖放文件,显示出拖放

https://blog.csdn.net/oh5W6HinUg43JvRhhB/article/details/102908030

请大佬 看看哪里出了错

使用tkinter开发GUI界面,然后可以从资源管理器中使用鼠标拖放多个任意文件到程序窗口,弹出对话框显示拖放的所有文件路径。如果需要对拖放的文件进一步操作,可以修改代码中的dragged_files()函数。


代码如下:





import tkinter


from tkinter.messagebox import showinfo
import windnd
a=tkinter.messagebox.askquestion('提示', '要执行此操作吗')
print (a)








def dragged_files(fi1es):
        msg ='\n'.join((item.decode('gbk') for item in files))
        tkinter.messagebox.showinfo('您拖放的文件',msg)




#dnd.test() 可以测试TK拖动
tk=tkinter.Tk()
tk.geometry("500x180") #设置root窗口的长度、宽度
tk.title('拖放文件操作')
windnd.hook_dropfiles(tk, func=dragged_files)
#windnd.hook_dropfiles(self.Text3, func)
tk.mainloop()


这一句windnd.hook_dropfiles(tk, func=dragged_files)运行总出错

OSError: exception: access violation writing 0xFFFFFFFFD5F75CF0
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 237, in 'calling callback function'
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-p
ackages\windnd\windnd.py", line 85, in py_drop_func
    return ctypes.windll.user32.CallWindowProcW(*map(argtype,(globals(),hwn
d,msg,wp,lp)))

不知道怎么修改,按原帖中,应该是如此,

https://ss.csdn.net/p?https://mmbiz.qpic.cn/mmbiz_png/xXrickrc6JTPnzQ9DJsBJN4kT3TmPB1yr6iaszJVzPIk5arbk8vzmnmZJg0OX9V9wDaPIeJuRQicju0NHYLWQLUmw/640?wx_fmt=png

ymhld 发表于 2020-1-19 20:43

有没有大佬出现能指点一下?
页: [1]
查看完整版本: python用tk想拖放文件,显示出拖放