我目前正在制作桌面小部件,我想要做的是创建一个用户可以编辑然后保存的文件。但是,如果你们熟悉Microsoft word或任何其他文本编辑器,我想要它,以便在你点击File - >之后保存,出现一个保存对话框,您可以在其中选择保存文件的位置和文件名。但是,在第一次之后,如果文件名保持不变,则不会出现保存对话框 - 而是只会自动保存以前写的内容。这是我想要实现的,但我在尝试这样做时遇到了麻烦。以下是我使用保存对话框保存文件的方法,但我不确定如何在不弹出保存对话框的情况下保存文件。
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()
任何人都知道如何做到这一点?如果是这样那将是伟大的!谢谢你的帮助。
答案 0 :(得分:0)
您应该将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())
...