diff options
Diffstat (limited to 'examples/widgets/mainwindows/application/application.py')
-rw-r--r-- | examples/widgets/mainwindows/application/application.py | 89 |
1 files changed, 48 insertions, 41 deletions
diff --git a/examples/widgets/mainwindows/application/application.py b/examples/widgets/mainwindows/application/application.py index 79c3b0f03..f69eade2e 100644 --- a/examples/widgets/mainwindows/application/application.py +++ b/examples/widgets/mainwindows/application/application.py @@ -6,12 +6,12 @@ from argparse import ArgumentParser, RawTextHelpFormatter import sys from PySide6.QtCore import (QByteArray, QFile, QFileInfo, QSaveFile, QSettings, - QTextStream, Qt) + QTextStream, Qt, Slot) from PySide6.QtGui import QAction, QIcon, QKeySequence from PySide6.QtWidgets import (QApplication, QFileDialog, QMainWindow, - QMessageBox, QTextEdit, QWidget) + QMessageBox, QTextEdit) -import application_rc +import application_rc # noqa: F401 class MainWindow(QMainWindow): @@ -42,23 +42,27 @@ class MainWindow(QMainWindow): else: event.ignore() + @Slot() def new_file(self): if self.maybe_save(): self._text_edit.clear() self.set_current_file('') + @Slot() def open(self): if self.maybe_save(): fileName, filtr = QFileDialog.getOpenFileName(self) if fileName: self.load_file(fileName) + @Slot() def save(self): if self._cur_file: return self.save_file(self._cur_file) return self.save_as() + @Slot() def save_as(self): fileName, filtr = QFileDialog.getSaveFileName(self) if fileName: @@ -66,62 +70,67 @@ class MainWindow(QMainWindow): return False + @Slot() def about(self): QMessageBox.about(self, "About Application", - "The <b>Application</b> example demonstrates how to write " - "modern GUI applications using Qt, with a menu bar, " - "toolbars, and a status bar.") + "The <b>Application</b> example demonstrates how to write " + "modern GUI applications using Qt, with a menu bar, " + "toolbars, and a status bar.") + @Slot() def document_was_modified(self): self.setWindowModified(self._text_edit.document().isModified()) def create_actions(self): - icon = QIcon.fromTheme("document-new", QIcon(':/images/new.png')) + icon = QIcon.fromTheme(QIcon.ThemeIcon.DocumentNew, QIcon(':/images/new.png')) self._new_act = QAction(icon, "&New", self, shortcut=QKeySequence.New, - statusTip="Create a new file", triggered=self.new_file) + statusTip="Create a new file", triggered=self.new_file) - icon = QIcon.fromTheme("document-open", QIcon(':/images/open.png')) + icon = QIcon.fromTheme(QIcon.ThemeIcon.DocumentOpen, QIcon(':/images/open.png')) self._open_act = QAction(icon, "&Open...", self, - shortcut=QKeySequence.Open, statusTip="Open an existing file", - triggered=self.open) + shortcut=QKeySequence.Open, statusTip="Open an existing file", + triggered=self.open) - icon = QIcon.fromTheme("document-save", QIcon(':/images/save.png')) + icon = QIcon.fromTheme(QIcon.ThemeIcon.DocumentSave, QIcon(':/images/save.png')) self._save_act = QAction(icon, "&Save", self, - shortcut=QKeySequence.Save, - statusTip="Save the document to disk", triggered=self.save) + shortcut=QKeySequence.Save, + statusTip="Save the document to disk", triggered=self.save) self._save_as_act = QAction("Save &As...", self, - shortcut=QKeySequence.SaveAs, - statusTip="Save the document under a new name", - triggered=self.save_as) + shortcut=QKeySequence.SaveAs, + statusTip="Save the document under a new name", + triggered=self.save_as) - self._exit_act = QAction("E&xit", self, shortcut="Ctrl+Q", - statusTip="Exit the application", triggered=self.close) + icon = QIcon.fromTheme(QIcon.ThemeIcon.ApplicationExit) + self._exit_act = QAction(icon, "E&xit", self, shortcut="Ctrl+Q", + statusTip="Exit the application", triggered=self.close) - icon = QIcon.fromTheme("edit-cut", QIcon(':/images/cut.png')) + icon = QIcon.fromTheme(QIcon.ThemeIcon.EditCut, QIcon(':/images/cut.png')) self._cut_act = QAction(icon, "Cu&t", self, shortcut=QKeySequence.Cut, - statusTip="Cut the current selection's contents to the clipboard", - triggered=self._text_edit.cut) + statusTip="Cut the current selection's contents to the clipboard", + triggered=self._text_edit.cut) - icon = QIcon.fromTheme("edit-copy", QIcon(':/images/copy.png')) + icon = QIcon.fromTheme(QIcon.ThemeIcon.EditCopy, QIcon(':/images/copy.png')) self._copy_act = QAction(icon, "&Copy", - self, shortcut=QKeySequence.Copy, - statusTip="Copy the current selection's contents to the clipboard", - triggered=self._text_edit.copy) + self, shortcut=QKeySequence.Copy, + statusTip="Copy the current selection's contents to the clipboard", + triggered=self._text_edit.copy) - icon = QIcon.fromTheme("edit-paste", QIcon(':/images/paste.png')) + icon = QIcon.fromTheme(QIcon.ThemeIcon.EditPaste, QIcon(':/images/paste.png')) self._paste_act = QAction(icon, "&Paste", - self, shortcut=QKeySequence.Paste, - statusTip="Paste the clipboard's contents into the current selection", - triggered=self._text_edit.paste) + self, shortcut=QKeySequence.Paste, + statusTip="Paste the clipboard's contents into the current " + "selection", + triggered=self._text_edit.paste) - self._about_act = QAction("&About", self, - statusTip="Show the application's About box", - triggered=self.about) + icon = QIcon.fromTheme(QIcon.ThemeIcon.HelpAbout) + self._about_act = QAction(icon, "&About", self, + statusTip="Show the application's About box", + triggered=self.about) self._about_qt_act = QAction("About &Qt", self, - statusTip="Show the Qt library's About box", - triggered=qApp.aboutQt) + statusTip="Show the Qt library's About box", + triggered=qApp.aboutQt) # noqa: F821 self._cut_act.setEnabled(False) self._copy_act.setEnabled(False) @@ -175,10 +184,9 @@ class MainWindow(QMainWindow): def maybe_save(self): if self._text_edit.document().isModified(): ret = QMessageBox.warning(self, "Application", - "The document has been modified.\nDo you want to save " - "your changes?", - QMessageBox.Save | QMessageBox.Discard | - QMessageBox.Cancel) + "The document has been modified.\nDo you want to save " + "your changes?", + QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel) if ret == QMessageBox.Save: return self.save() elif ret == QMessageBox.Cancel: @@ -189,8 +197,7 @@ class MainWindow(QMainWindow): file = QFile(fileName) if not file.open(QFile.ReadOnly | QFile.Text): reason = file.errorString() - QMessageBox.warning(self, "Application", - f"Cannot read file {fileName}:\n{reason}.") + QMessageBox.warning(self, "Application", f"Cannot read file {fileName}:\n{reason}.") return inf = QTextStream(file) |