diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-06-12 10:32:21 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-06-12 10:32:21 +0200 |
| commit | 077db7a4a432c78490ae34ead3f1d5338175b81c (patch) | |
| tree | 695f7dec0bd44472d6df5081b2dd1b9a9e626f65 /examples/widgets/mainwindows/application/application.py | |
| parent | 1e8896f509bd3435b97b6036c02fb177e5f5e526 (diff) | |
Examples: Use QSaveFile
QSaveFile should preferably used for writing out files from editor
applications to ensure files are properly written and existing files
are not overwritten should writing fail.
Change-Id: I5d9b98c168649d23f5ee31171b1729fd230dc8de
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'examples/widgets/mainwindows/application/application.py')
| -rw-r--r-- | examples/widgets/mainwindows/application/application.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/examples/widgets/mainwindows/application/application.py b/examples/widgets/mainwindows/application/application.py index e0a46bdad..624fb47d5 100644 --- a/examples/widgets/mainwindows/application/application.py +++ b/examples/widgets/mainwindows/application/application.py @@ -229,19 +229,22 @@ class MainWindow(QtWidgets.QMainWindow): self.statusBar().showMessage("File loaded", 2000) def saveFile(self, fileName): - file = QtCore.QFile(fileName) - if not file.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): - QtWidgets.QMessageBox.warning(self, "Application", - "Cannot write file %s:\n%s." % (fileName, file.errorString())) - return False - - outf = QtCore.QTextStream(file) + error = None QtWidgets.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor) - - # FIXME: Once file is out of scope, the file is empty, instead of having text. - outf << self.textEdit.toPlainText() + file = QtCore.QSaveFile(fileName) + if file.open(QtCore.QFile.WriteOnly | QtCore.QFile.Text): + outf = QtCore.QTextStream(file) + outf << self.textEdit.toPlainText() + if not file.commit(): + error = "Cannot write file %s:\n%s." % (fileName, file.errorString()) + else: + error = "Cannot open file %s:\n%s." % (fileName, file.errorString()) QtWidgets.QApplication.restoreOverrideCursor() + if error: + QtWidgets.QMessageBox.warning(self, "Application", error) + return False + self.setCurrentFile(fileName) self.statusBar().showMessage("File saved", 2000) return True |
