如何在 wxPython 中清除保存文件对话框文件名
How to clear save file dialog filename in wxPython
我希望能够在 wxPython 中清除我的保存文件对话框文件名。我的意思是说如果我这样做
saveFileDialog.GetFilename()
说这个 returns
test.txt
我怎样才能做到,当我再次执行 GetFilename() 时,它将 return
""
而不是
test.txt
?我不太确定该怎么做,但在此先感谢!
这里我使用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()
我希望能够在 wxPython 中清除我的保存文件对话框文件名。我的意思是说如果我这样做
saveFileDialog.GetFilename()
说这个 returns
test.txt
我怎样才能做到,当我再次执行 GetFilename() 时,它将 return
""
而不是
test.txt
?我不太确定该怎么做,但在此先感谢!
这里我使用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()