我有一个保存例程,它应该以以下方式提示用户:
我的代码目前如下,但我觉得应该有一个更好的方法来做到这一点。“是的,用户现在将被提示为“是,但我想取消”对话框。我真的找不到任何方法将“否”按钮更改为“另存为”按钮,该按钮将打开一个用户可以插入所需文件名的对话框。有什么改进的建议吗?在
def saveProject(window):
if os.path.exists(window.getGlobalSettings().getCurrentFileName()): #File exists from before
dlg = wx.MessageDialog(window,
"Overwrite existing project file " + window.getGlobalSettings().getCurrentFileName() + "?",
"Overwrite existing project file",
wx.SAVE|wx.CANCEL|wx.ICON_QUESTION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_YES:
save(window,currentFileName)
return True
elif result == wx.ID_SAVEAS:
#TODO: do shit here
return False
elif result == wx.ID_NO:
return False
elif result == wx.ID_CANCEL:
return False
elif window.getGlobalSettings().getCurrentFileName == "":
#TODO: do shit here
return False
else:
save(window,window.getGlobalSettings().getCurrentFileName())
return True
更新
代码已成功更改为:
^{pr2}$
您使用了错误的对话框类型。请改用FileDialog:
wx.FD_OVERWRITE_PROMPT
包含“如果文件将被覆盖,则提示确认”功能我找不到在对话框中用“另存为”替换“Save”的方法(它只有
wx.FD_SAVE
),但大多数人不会注意到这一点。在相关问题 更多 >
编程相关推荐