wxpython拖放一个文件夹,然后再拖放另一个文件夹以添加到列表中
我正在使用下面的代码创建一个拖放窗口,我将文件夹拖放到其中以获得文件夹路径。我想要的是能够删除一个文件夹,然后删除另一个文件夹,这会添加到列表中,然后可能会删除另一个文件夹,这会添加到列表中,依此类推。当前,如果我在第一个文件夹之后放置另一个文件夹,它只会在窗口中显示第一个文件夹。如何让它显示正在添加的新项目,并将它们添加到列表中wxpython拖放一个文件夹,然后再拖放另一个文件夹以添加到列表中,python,drag-and-drop,wxpython,Python,Drag And Drop,Wxpython,我正在使用下面的代码创建一个拖放窗口,我将文件夹拖放到其中以获得文件夹路径。我想要的是能够删除一个文件夹,然后删除另一个文件夹,这会添加到列表中,然后可能会删除另一个文件夹,这会添加到列表中,依此类推。当前,如果我在第一个文件夹之后放置另一个文件夹,它只会在窗口中显示第一个文件夹。如何让它显示正在添加的新项目,并将它们添加到列表中 def queue(self, event): self.Show() dt1 = MyFileDropTarget(self
def queue(self, event):
self.Show()
dt1 = MyFileDropTarget(self)
self.tc_files = wx.TextCtrl(self.panel1, wx.ID_ANY, pos=(42, 120), size=(500, 405))
self.tc_files.SetDropTarget(dt1)
def notify(self, indir):
"""Update file in testcontrol after drag and drop"""
self.tc_files.SetValue(indir[0])
class MyFileDropTarget(wx.FileDropTarget):
""""""
def __init__(self, window):
wx.FileDropTarget.__init__(self)
self.window = window
def OnDropFiles(self, x, y, filenames):
self.window.notify(filenames)
正如@JoranBeasley所评论的,您需要使用indir列表来设置显示的字符串:
self.tc_files.SetValue(",".join(indir))
应该这样做。只需修改notify函数,将字符串设置为所有字符串,而不仅仅是第一个字符串。。。