1

我希望打开的对话框按*.spectrum或不过滤文件(*.* all files)。

我还希望保存对话框在保存时建议.spectrum扩展。常见的,new file.ext其中new file突出显示供我们覆盖。


我已经wildcard = "*.spectrum"为这两个选项设置了,但请给我一个更完整的解决方案。

4

1 回答 1

1

我写了几篇关于这个主题的文章:

基本上你想要的打开和保存对话框是这样的:

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()

注意:代码直接取自我的博客,仅稍作修改。

于 2012-06-25T14:38:11.810 回答