从wx.FileDialog窗口拖放文件在MacOS中不起作用

时间:2014-11-07 12:42:27

标签: python macos user-interface wxpython

这是我的用户故事

  

点击特定按钮后,会出现一个模态对话框,   包含一个代表单个文件的大图标,一个OK   按钮。对话框的标题显示为:"请拖放此对话框   将文件存入应用程序APPX,然后单击确定"。对话框消失   点击确定后。

以下是我在MacOS 10.9.5,Python 2.7.8,wx 3.0.1.1:

上尝试的内容
import wx, os
class MyForm(wx.Frame):
    #----------------------------------------------------------------------
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "Demo")
        panel = wx.Panel(self, wx.ID_ANY)
        openFileDlgBtn = wx.Button(panel, label="Show FileDialog")
        openFileDlgBtn.Bind(wx.EVT_BUTTON, self.onOpenFile)
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(openFileDlgBtn, 0, wx.ALL|wx.CENTER, 5) 
        panel.SetSizer(sizer)

    #----------------------------------------------------------------------
    def onOpenFile(self, event):
        dlg = wx.FileDialog(
            self, message="Please drag and drop this file onto your favorite text editor, then click OK",
            defaultDir=os.getcwd(),
            defaultFile="*.txt",
            wildcard="TXT files (*.txt)|*.txt",
            style=wx.OPEN
            )
        if dlg.ShowModal() == wx.ID_OK:
            pass
        dlg.Destroy()

#----------------------------------------------------------------------
if __name__ == "__main__":
    app = wx.App(False)
    frame = MyForm()
    frame.Show()
    app.MainLoop()

注意:我无法控制外部应用程序;这将只打开文件。 wxDialog并不完全符合我的要求,因为它显示文件夹导航元素以及其他(灰色)文件。但这不是主要问题。

问题/疑问:

  

wxDialog不会让我拖放 MacOS上的任何文件。它适用于Windows和Linux(请参阅注释)。如何使它在MacOS上运行?我还可以尝试使用FileDialog吗?理想情况下,我有一个简单的框架显示要拖动的文件。感谢。

0 个答案:

没有答案