0

我有以下代码:

import wx
from sys import platform

wildcard = "CSV files|*.csv|"\
           "XML files|*.xml|"\
           "Microsoft Excel files|*.xlsx" if platform == "win32" else "CSV files|*.csv|"\
                                                                      "XML files|*.xml|"

if __name__ == "__main__":
    app = wx.PySimpleApp(0)
    wx.InitAllImageHandlers()
    frame_1 = wx.Frame(None, -1, "")
    app.SetTopWindow(frame_1)
    frame_1.Show()
    dlg = wx.FileDialog(
            frame_1, message="Choose a file",
            defaultDir="",
            defaultFile="",
            wildcard=wildcard, #PROBLEM IS HERE THAT'S FOR SURE
            style=wx.OPEN
    )
    dlg.ShowModal() #IT CRASHES HERE
    dlg.Destroy()
    app.MainLoop()

此 FileDialog 在 Windows 和 Linux 中完美运行,但在 Mac OS X 中崩溃。为了让 FileDialog 在 Mac OS X 中正常工作,我可以更改什么吗?

Python 2.7.3、wxPython 2.8、Mac OS X 10.6

更新:更新为一个小样本。

更新2:没有“通配符”参数它工作得很好,但无论如何我都需要通配符。

4

1 回答 1

0

刚刚自己找到答案:

http://trac.wxwidgets.org/ticket/4489

删除最后一个“|”后,当通配符格式不正确时,它在 Mac 中崩溃 在通配符中一切正常。

于 2012-12-12T10:56:22.890 回答