如何在wxPython中清空保存文件对话框的已存储文件名
wxPython保存文件对话框文件名缓存清空方案
方案1:复用现有对话框实例的场景
wx.FileDialog的文件名存储为实例级属性,你只需要在获取完文件名后主动调用SetFilename("")方法即可清空缓存,后续调用GetFilename()就会返回空字符串:
# 示例代码 saveFileDialog = wx.FileDialog(parent, message="保存文件", style=wx.FD_SAVE) if saveFileDialog.ShowModal() == wx.ID_OK: # 获取当前选择的文件名 current_file = saveFileDialog.GetFilename() # 你的文件保存逻辑 save_file_logic(current_file) # 清空当前实例的文件名缓存 saveFileDialog.SetFilename("") # 后续调用验证 print(saveFileDialog.GetFilename()) # 输出 ""
方案2:每次新建对话框实例的场景
如果你不会复用对话框实例,只需要在创建新实例时指定defaultFile参数为空字符串,即可从根源避免历史文件名缓存:
# 新建对话框时指定默认文件名为空 saveFileDialog = wx.FileDialog( parent=self, message="保存文件", wildcard="所有文件 (*.*)|*.*", style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT, defaultFile="" )
补充说明
wxPython的文件对话框文件名缓存是实例独立的,不存在全局级别的缓存需要清理,只要操作对应实例的方法即可实现需求。
内容的提问来源于stack exchange,提问作者Elon-Musk-YAY
相关产品推荐
相关产品推荐

