文章正文
python drag and drop
在公司的时候想要实现一个小工具,工具的一个功能就是要获取到拖到窗体的文件路径,也就是drag and drop 功能。python实现其他的功能都没有问题,只有这个以前没有实现过,借这个机会学习一下。
实现的小插曲,公司电脑上使用的是py2.7,家里的电脑使用的是py3.0,刚才安装wxpython的时候,发现官网上没有python3.0对应的wxpython,泪奔。。。经过一番百度,google,终于找到wxpython作者已经在开始编译py3.0对应的wxpython了,只是没有在官网放出来,有需要的可以在https://wxpython.org/Phoenix/snapshot-builds/ 下载,哦也!
好了废话不说了,demo直接copy网上的,自己实现的带不回来,公司政策,
import wx class MyFileDropTarget(wx.FileDropTarget): def __init__(self, window): wx.FileDropTarget.__init__(self) self.window = window def OnDropFiles(self, x, y, filenames): self.window.AppendText("%d file(s) dropped at (%d,%d):\n" % (len(filenames), x, y)) for file in filenames: self.window.AppendText("%s\n" % file) class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, title="Drop Target",size=(500,300)) p = wx.Panel(self) label = wx.StaticText(p, -1, "Drop some files here:") text = wx.TextCtrl(p, -1, "",style=wx.TE_MULTILINE|wx.HSCROLL) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(label, 0, wx.ALL, 5) sizer.Add(text, 1, wx.EXPAND|wx.ALL, 5) p.SetSizer(sizer) dt = MyFileDropTarget(text) text.SetDropTarget(dt) app = wx.PySimpleApp() frm = MyFrame() frm.Show() app.MainLoop()
demo来自http://www.java2s.com/Tutorial/Python/0380__wxPython/Filedroptarget.htm
下面是运行结果,随便拖一个文件上去,就知道了文件的路径,python 就是简单,V5
July 15, 2016, 8:22 a.m. 作者:zachary 分类:python小站 阅读(1963) 评论(0)
评论列表:
评论: