次のコードがあります。
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 ではクラッシュします。Mac OS X で FileDialog を適切に動作させるために変更できることはありますか?
Python 2.7.3、wxPython 2.8、Mac OS X 10.6
更新: 小さなサンプルに更新されました。
更新 2:「ワイルドカード」パラメーターがなくてもうまく機能しますが、とにかくワイルドカードが必要です。