1

我在下面创建了一个这样的类。但是当我用“保存文件”按钮绑定一个事件时,wx.filelog 不会设置。这真的很奇怪。所以我把SuperClass改成wx.Frame,然后就成功了。谁能告诉我为什么?谢谢。

class TestDialog(wx.Dialog):
    def __init__(
        self, parent, ID, title, size=wx.DefaultSize, pos=wx.DefaultPosition,
        style=wx.DEFAULT_DIALOG_STYLE,
        useMetal=False,):
        self.pre = wx.PreDialog()
        self.pre.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
        self.pre.Create(parent, ID, title, pos, size, style)
        self.PostCreate(self.pre)
        self.fileButton = wx.Button(self , -1, "save file!")
        self.Bind(wx.EVT_BUTTON, self.OnCompressToFileButton, self.fileButton)
    def OnCompressToFileButton(self, event):
        wildcard = "compress file(*.cof)|*.cof|Lempel-Zivsliding window compressfile(*.lz)|*.lz"
        dlg = wx.FileDialog(self, message="Save file as ...", defaultDir=os.getcwd(),         defaultFile="", wildcard=wildcard, style=wx.SAVE)      

`

4

1 回答 1

0

使用这个 cod 它必须与 wx.Dialog 一起使用

def OnCompressToFileButton(self, event):
    dlg = wx.FileDialog(self, "Choose a file",os.getcwd(), "", "*.*", wx.SAVE | wx.OVERWRITE_PROMPT)
    if dlg.ShowModal() == wx.ID_OK:
        self.filename=dlg.GetFilename()
        self.dirname=dlg.GetDirectory()
于 2013-04-03T13:33:09.403 回答