文章正文
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小站 阅读(2427) 评论(0)
评论列表:
评论: