wx.TextCtrl使用拖放文件夹来获取文件路径



我目前有一个正在使用wx的应用程序。TextCtrl,打开一个选择文件夹对话框。我想添加拖放功能,这样我就可以拖放一个文件夹来获得文件夹路径,这样用户就可以同时使用这两个选项。这是我当前代码的一部分:

self.pathindir = wx.TextCtrl(panel, -1, pos=(35, 380), size=(300, 25))
self.buttonin = wx.Button(panel, -1, "Open", pos=(350, 378))
self.buttonin.Bind(wx.EVT_BUTTON, self.openindir)
def openindir(self, event):
    dlg = wx.DirDialog(self, "Choose your input lookup directory:", style=wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON)
    if dlg.ShowModal() == wx.ID_OK:
        global pathindir
        pathindir = dlg.GetPath()
        self.SetStatusText("Your selected input lookup directory is: %s" % pathindir)
    self.pathindir.Clear()
    self.pathindir.WriteText(pathindir)
    dlg.Destroy()

你不能按照现在的方式来做。你使用的是模式对话框,它在对话框运行时暂停主应用程序。因此,您无法与主应用程序进行交互。这意味着您无法将路径从对话框拖放到框架。您可以只显示()对话框,也可以查看wxPython演示,其中也有一个示例。

最新更新