我希望打开的对话框按*.spectrum
或不过滤文件(*.* all files
)。
我还希望保存对话框在保存时建议.spectrum
扩展。常见的,new file.ext
其中new file
突出显示供我们覆盖。
我已经wildcard = "*.spectrum"
为这两个选项设置了,但请给我一个更完整的解决方案。
我写了几篇关于这个主题的文章:
基本上你想要的打开和保存对话框是这样的:
wildcard = "Python source (*.spectrum)|*.spectrum|" \
"All files (*.*)|*.*"
然后在代码中,你会做这样的事情:
def onOpenFile(self, event):
"""
Create and show the Open FileDialog
"""
dlg = wx.FileDialog(
self, message="Choose a file",
defaultDir=self.currentDirectory,
defaultFile="",
wildcard=wildcard,
style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR
)
if dlg.ShowModal() == wx.ID_OK:
paths = dlg.GetPaths()
print "You chose the following file(s):"
for path in paths:
print path
dlg.Destroy()
#----------------------------------------------------------------------
def onSaveFile(self, event):
"""
Create and show the Save FileDialog
"""
dlg = wx.FileDialog(
self, message="Save file as ...",
defaultDir=self.currentDirectory,
defaultFile="", wildcard=wildcard, style=wx.SAVE
)
if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPath()
print "You chose the following filename: %s" % path
dlg.Destroy()
注意:代码直接取自我的博客,仅稍作修改。