diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-02-18 09:32:29 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-03-18 09:23:18 +0100 |
commit | f81168387be7879f9167405b28d29ba26e7b3f14 (patch) | |
tree | 98b0bb11a86703c9621b0be2886d245fd232fa05 /examples | |
parent | ed6bb6cf8f8f6005309f038f16134d478f15a1f3 (diff) |
Add a context manager for override cursors
[ChangeLog][PySide] A context manager for override cursors
has been added. It is now possible to write code like:
with QApplication.setOverrideCursor(Qt.WaitCursor):...
Change-Id: I443ce82389b48656f21c98df17d97e1b3b3323b5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/widgets/mainwindows/application/application.py | 26 | ||||
-rw-r--r-- | examples/widgets/mainwindows/dockwidgets/dockwidgets.py | 5 | ||||
-rw-r--r-- | examples/widgets/mainwindows/mdi/mdi.py | 26 |
3 files changed, 26 insertions, 31 deletions
diff --git a/examples/widgets/mainwindows/application/application.py b/examples/widgets/mainwindows/application/application.py index 3ec9344cb..b22f2b7cb 100644 --- a/examples/widgets/mainwindows/application/application.py +++ b/examples/widgets/mainwindows/application/application.py @@ -232,27 +232,25 @@ class MainWindow(QMainWindow): return inf = QTextStream(file) - QApplication.setOverrideCursor(Qt.WaitCursor) - self._text_edit.setPlainText(inf.readAll()) - QApplication.restoreOverrideCursor() + with QApplication.setOverrideCursor(Qt.WaitCursor): + self._text_edit.setPlainText(inf.readAll()) self.set_current_file(fileName) self.statusBar().showMessage("File loaded", 2000) def save_file(self, fileName): error = None - QApplication.setOverrideCursor(Qt.WaitCursor) - file = QSaveFile(fileName) - if file.open(QFile.WriteOnly | QFile.Text): - outf = QTextStream(file) - outf << self._text_edit.toPlainText() - if not file.commit(): + with QApplication.setOverrideCursor(Qt.WaitCursor): + file = QSaveFile(fileName) + if file.open(QFile.WriteOnly | QFile.Text): + outf = QTextStream(file) + outf << self._text_edit.toPlainText() + if not file.commit(): + reason = file.errorString() + error = f"Cannot write file {fileName}:\n{reason}." + else: reason = file.errorString() - error = f"Cannot write file {fileName}:\n{reason}." - else: - reason = file.errorString() - error = f"Cannot open file {fileName}:\n{reason}." - QApplication.restoreOverrideCursor() + error = f"Cannot open file {fileName}:\n{reason}." if error: QMessageBox.warning(self, "Application", error) diff --git a/examples/widgets/mainwindows/dockwidgets/dockwidgets.py b/examples/widgets/mainwindows/dockwidgets/dockwidgets.py index 61b1dd781..db08895d6 100644 --- a/examples/widgets/mainwindows/dockwidgets/dockwidgets.py +++ b/examples/widgets/mainwindows/dockwidgets/dockwidgets.py @@ -145,9 +145,8 @@ class MainWindow(QMainWindow): return out = QTextStream(file) - QApplication.setOverrideCursor(Qt.WaitCursor) - out << self._text_edit.toHtml() - QApplication.restoreOverrideCursor() + with QApplication.setOverrideCursor(Qt.WaitCursor): + out << self._text_edit.toHtml() self.statusBar().showMessage(f"Saved '{filename}'", 2000) diff --git a/examples/widgets/mainwindows/mdi/mdi.py b/examples/widgets/mainwindows/mdi/mdi.py index a6ea6284d..06d80b1a1 100644 --- a/examples/widgets/mainwindows/mdi/mdi.py +++ b/examples/widgets/mainwindows/mdi/mdi.py @@ -81,9 +81,8 @@ class MdiChild(QTextEdit): return False instr = QTextStream(file) - QApplication.setOverrideCursor(Qt.WaitCursor) - self.setPlainText(instr.readAll()) - QApplication.restoreOverrideCursor() + with QApplication.setOverrideCursor(Qt.WaitCursor): + self.setPlainText(instr.readAll()) self.set_current_file(fileName) @@ -106,18 +105,17 @@ class MdiChild(QTextEdit): def save_file(self, fileName): error = None - QApplication.setOverrideCursor(Qt.WaitCursor) - file = QSaveFile(fileName) - if file.open(QFile.WriteOnly | QFile.Text): - outstr = QTextStream(file) - outstr << self.toPlainText() - if not file.commit(): + with QApplication.setOverrideCursor(Qt.WaitCursor): + file = QSaveFile(fileName) + if file.open(QFile.WriteOnly | QFile.Text): + outstr = QTextStream(file) + outstr << self.toPlainText() + if not file.commit(): + reason = file.errorString() + error = f"Cannot write file {fileName}:\n{reason}." + else: reason = file.errorString() - error = f"Cannot write file {fileName}:\n{reason}." - else: - reason = file.errorString() - error = f"Cannot open file {fileName}:\n{reason}." - QApplication.restoreOverrideCursor() + error = f"Cannot open file {fileName}:\n{reason}." if error: QMessageBox.warning(self, "MDI", error) |