【问题标题】:How to clear save file dialog filename in wxPython如何在wxPython中清除保存文件对话框文件名
【发布时间】:2021-12-29 19:49:21
【问题描述】:

我希望能够在 wxPython 中清除我的保存文件对话框文件名。我的意思是说如果我这样做了

saveFileDialog.GetFilename()

说这会返回

test.txt

我怎样才能做到,所以当我再次执行 GetFilename() 时,它会返回

""

而不是

test.txt

?我不太确定该怎么做,但提前谢谢!

【问题讨论】:

    标签: wxpython


    【解决方案1】:

    这里我使用SetFilename方法来重置路径

    import wx
    
    
    class MainFrame(wx.Frame):
        def __init__(self, *args, **kwargs):
            super().__init__(None, *args, **kwargs)
            self.size = (400, 1000)
            self.Title = 'wx App'
            self.Bind(wx.EVT_CLOSE, self.on_quit_click)
    
            self.panel = MainPanel(self)
            sizer = wx.BoxSizer(wx.VERTICAL)
            sizer.Add(self.panel)
            self.SetSizer(sizer)
            self.Center()
            self.Show()
            self.save_dialog = wx.FileDialog(self, style=wx.FD_SAVE)
    
        def on_save(self, event):
            self.save_dialog.ShowModal()
    
        def on_check(self, event):
            print(f'filename={self.save_dialog.GetFilename()}')
            self.save_dialog.SetFilename('')
    
        def on_quit_click(self, event):
            del event
            wx.CallAfter(self.Destroy)
    
    
    class MainPanel(wx.Panel):
        def __init__(self, parent, *args, **kwargs):
            super().__init__(parent, *args, **kwargs)
    
            self.parent = parent
            # self.file_picker = wx.FilePickerCtrl(self, style=wx.FLP_SAVE)
            btn_save = wx.Button(self, id=wx.ID_SAVE)
            btn_save.Bind(wx.EVT_BUTTON, self.parent.on_save)
            btn_check = wx.Button(self, id=wx.ID_OK)
            btn_check.Bind(wx.EVT_BUTTON, self.parent.on_check)
            sizer = wx.BoxSizer(wx.VERTICAL)
            # sizer.Add(self.file_picker)
            sizer.Add(btn_save)
            sizer.Add(btn_check)
            self.SetSizer(sizer)
    
    if __name__ == '__main__':
    wx_app = wx.App()
    MainFrame()
    wx_app.MainLoop()
    

    【讨论】:

    • 非常感谢!我正要尝试这个,我会告诉你这是否有效。根据我的逻辑,这看起来会起作用,所以无论如何我都会给你答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多