Python “保存”对话框是否只显示一次?
我目前正在制作一个桌面小部件,我想做的是创建一个用户可以编辑然后保存的文件。但是,如果你们熟悉MicrosoftWord或任何其他文本编辑器,我希望在点击File->save之后,出现一个save对话框,您可以在其中选择保存文件的位置和文件名。但是,在第一次之后,如果文件名保持不变,则不会出现“保存”对话框,而是自动保存以前编写的内容。这是我想要实现的,但我在尝试实现这一点时遇到了困难。下面是我使用“保存”对话框保存文件的方法,但我不确定如何在不弹出“保存”对话框的情况下保存文件Python “保存”对话框是否只显示一次?,python,user-interface,pyqt,save,pyqt4,Python,User Interface,Pyqt,Save,Pyqt4,我目前正在制作一个桌面小部件,我想做的是创建一个用户可以编辑然后保存的文件。但是,如果你们熟悉MicrosoftWord或任何其他文本编辑器,我希望在点击File->save之后,出现一个save对话框,您可以在其中选择保存文件的位置和文件名。但是,在第一次之后,如果文件名保持不变,则不会出现“保存”对话框,而是自动保存以前编写的内容。这是我想要实现的,但我在尝试实现这一点时遇到了困难。下面是我使用“保存”对话框保存文件的方法,但我不确定如何在不弹出“保存”对话框的情况下保存文件 def sav
def saveFile(self):
filename = QtGui.QFileDialog.getSaveFileName(None, 'Save File', os.path.expanduser("~/Desktop/Calendar Data/"+self.dateString), ".txt")
f = open(filename, 'w')
filedata = self.text.toPlainText()
f.write(filedata)
f.close()
有人知道怎么做吗?如果是这样,那就太好了!谢谢您的帮助。您应该将
filename
设置为实例属性,这样您就可以检查它是否已设置:
class Spam:
...
def __init__(self):
self.filename = None
def saveFile(self):
if not self.filename:
self.filename = QtGui.QFileDialog.getSaveFileName(...)
# here you should check if the dialog wasn't cancelled
with open(filename, 'w') as f:
f.write(self.text.toPlainText())
...
令人惊叹的。非常感谢。:)