这是我的用户故事:
点击特定按钮后,会出现一个模态对话框, 包含一个代表单个文件的大图标,一个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吗?理想情况下,我有一个简单的框架显示要拖动的文件。感谢。