From ebfaceedf7413ce70e6ae411c821e6c3e68aa37f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 18 Aug 2022 15:44:52 +0200 Subject: Examples: Add some missing slot decorators As unearthed by the warnings added by the logging category. As a drive-by, fix some imports. Pick-to: 6.3 6.2 Task-number: PYSIDE-2033 Change-Id: I3812c705b60eb7be744c3532fcfb0e4024763885 Reviewed-by: Christian Tismer --- examples/widgets/codeeditor/codeeditor.py | 4 ++-- examples/widgets/desktop/screenshot/screenshot.py | 6 +++++- .../dialogs/standarddialogs/standarddialogs.py | 18 +++++++++++++++- .../graphicsview/diagramscene/diagramscene.py | 25 ++++++++++++++++++++-- .../widgets/itemviews/address_book/address_book.py | 3 +++ .../itemviews/address_book/addresswidget.py | 5 ++++- .../basicfiltermodel/basicsortfiltermodel.py | 5 ++++- examples/widgets/itemviews/fetchmore/fetchmore.py | 2 +- .../widgets/itemviews/spreadsheet/spreadsheet.py | 6 +++--- .../widgets/mainwindows/application/application.py | 8 ++++++- examples/widgets/mainwindows/mdi/mdi.py | 13 ++++++++++- examples/widgets/richtext/orderform/orderform.py | 3 +++ examples/widgets/richtext/textobject/textobject.py | 3 ++- examples/widgets/tetrix/tetrix.py | 2 ++ .../regularexpression/regularexpressiondialog.py | 4 ++++ examples/widgets/tutorials/addressbook/part3.py | 4 ++++ examples/widgets/tutorials/addressbook/part4.py | 7 ++++++ examples/widgets/tutorials/addressbook/part5.py | 7 ++++++ examples/widgets/tutorials/addressbook/part6.py | 7 ++++++ examples/widgets/tutorials/addressbook/part7.py | 7 ++++++ examples/widgets/widgetsgallery/widgetgallery.py | 6 +++++- 21 files changed, 129 insertions(+), 16 deletions(-) (limited to 'examples/widgets') diff --git a/examples/widgets/codeeditor/codeeditor.py b/examples/widgets/codeeditor/codeeditor.py index 635dcb7a8..22f0b685b 100644 --- a/examples/widgets/codeeditor/codeeditor.py +++ b/examples/widgets/codeeditor/codeeditor.py @@ -69,11 +69,11 @@ class CodeEditor(QPlainTextEdit): bottom = top + self.blockBoundingRect(block).height() block_number += 1 - @Slot() + @Slot(int) def update_line_number_area_width(self, newBlockCount): self.setViewportMargins(self.line_number_area_width(), 0, 0, 0) - @Slot() + @Slot(QRect, int) def update_line_number_area(self, rect, dy): if dy: self.line_number_area.scroll(0, dy) diff --git a/examples/widgets/desktop/screenshot/screenshot.py b/examples/widgets/desktop/screenshot/screenshot.py index c818984dd..a5688da7a 100644 --- a/examples/widgets/desktop/screenshot/screenshot.py +++ b/examples/widgets/desktop/screenshot/screenshot.py @@ -5,7 +5,8 @@ import sys -from PySide6.QtCore import QDir, QPoint, QRect, QStandardPaths, Qt, QTimer +from PySide6.QtCore import (QDir, QPoint, QRect, QStandardPaths, Qt, QTimer, + Slot) from PySide6.QtGui import QGuiApplication, QImageWriter from PySide6.QtWidgets import (QApplication, QCheckBox, QDialog, QFileDialog, QGridLayout, QGroupBox, QHBoxLayout, QLabel, @@ -72,6 +73,7 @@ class Screenshot(QWidget): if scaled_size != self.screenshot_label.pixmap().size(): self.update_screenshot_label() + @Slot() def new_screenshot(self): if self.hide_this_window_checkbox.isChecked(): self.hide() @@ -79,6 +81,7 @@ class Screenshot(QWidget): QTimer.singleShot(self.delay_spinbox.value() * 1000, self.shoot_screen) + @Slot() def save_screenshot(self): fmt = "png" # In order to avoid shadowing built-in format initial_path = QStandardPaths.writableLocation(QStandardPaths.PicturesLocation) @@ -127,6 +130,7 @@ class Screenshot(QWidget): if self.hide_this_window_checkbox.isChecked(): self.show() + @Slot() def update_checkbox(self): if self.delay_spinbox.value() == 0: self.hide_this_window_checkbox.setDisabled(True) diff --git a/examples/widgets/dialogs/standarddialogs/standarddialogs.py b/examples/widgets/dialogs/standarddialogs/standarddialogs.py index 22f4b9eb6..046d738be 100644 --- a/examples/widgets/dialogs/standarddialogs/standarddialogs.py +++ b/examples/widgets/dialogs/standarddialogs/standarddialogs.py @@ -5,7 +5,7 @@ """PySide6 port of the widgets/dialogs/standarddialogs example from Qt v5.x""" import sys -from PySide6.QtCore import QDir, QRect, Qt +from PySide6.QtCore import QDir, QRect, Qt, Slot from PySide6.QtGui import QFont, QPalette, QScreen from PySide6.QtWidgets import (QApplication, QColorDialog, QCheckBox, QDialog, QErrorMessage, QFontDialog, QFileDialog, QFrame, @@ -237,18 +237,21 @@ class Dialog(QDialog): self.setWindowTitle("Standard Dialogs") + @Slot() def set_integer(self): i, ok = QInputDialog.getInt(self, "QInputDialog.getInteger()", "Percentage:", 25, 0, 100, 1) if ok: self._integer_label.setText(f"{i}%") + @Slot() def set_double(self): d, ok = QInputDialog.getDouble(self, "QInputDialog.getDouble()", "Amount:", 37.56, -10000, 10000, 2) if ok: self._double_label.setText(f"${d:g}") + @Slot() def set_item(self): items = ("Spring", "Summer", "Fall", "Winter") @@ -257,6 +260,7 @@ class Dialog(QDialog): if ok and item: self._item_label.setText(item) + @Slot() def set_text(self): text, ok = QInputDialog.getText(self, "QInputDialog.getText()", "User name:", QLineEdit.Normal, @@ -264,12 +268,14 @@ class Dialog(QDialog): if ok and text != '': self._text_label.setText(text) + @Slot() def set_multiline_text(self): text, ok = QInputDialog.getMultiLineText(self, "QInputDialog::getMultiLineText()", "Address:", "John Doe\nFreedom Street") if ok and text != '': self._multiline_text_label.setText(text) + @Slot() def set_color(self): options_value = self._color_options.value() options = QColorDialog.ColorDialogOptions(options_value) @@ -280,6 +286,7 @@ class Dialog(QDialog): self._color_label.setPalette(QPalette(color)) self._color_label.setAutoFillBackground(True) + @Slot() def set_font(self): options_value = self._font_options.value() options = QFontDialog.FontDialogOptions(options_value) @@ -294,6 +301,7 @@ class Dialog(QDialog): self._font_label.setText(font.key()) self._font_label.setFont(font) + @Slot() def set_existing_directory(self): options_value = self._file_options.value() options = QFileDialog.Options(options_value) | QFileDialog.ShowDirsOnly @@ -304,6 +312,7 @@ class Dialog(QDialog): if directory: self._directory_label.setText(directory) + @Slot() def set_open_file_name(self): options_value = self._file_options.value() options = QFileDialog.Options(options_value) @@ -315,6 +324,7 @@ class Dialog(QDialog): if fileName: self._open_file_name_label.setText(fileName) + @Slot() def set_open_file_names(self): options_value = self._file_options.value() options = QFileDialog.Options(options_value) @@ -327,6 +337,7 @@ class Dialog(QDialog): file_list = ', '.join(files) self._open_file_names_label.setText(f"[{file_list}]") + @Slot() def set_save_file_name(self): options_value = self._file_options.value() options = QFileDialog.Options(options_value) @@ -338,6 +349,7 @@ class Dialog(QDialog): if fileName: self._save_file_name_label.setText(fileName) + @Slot() def critical_message(self): reply = QMessageBox.critical(self, "QMessageBox.critical()", Dialog.MESSAGE, @@ -349,6 +361,7 @@ class Dialog(QDialog): else: self._critical_label.setText("Ignore") + @Slot() def information_message(self): reply = QMessageBox.information(self, "QMessageBox.information()", Dialog.MESSAGE) @@ -357,6 +370,7 @@ class Dialog(QDialog): else: self._information_label.setText("Escape") + @Slot() def question_message(self): reply = QMessageBox.question(self, "QMessageBox.question()", Dialog.MESSAGE, @@ -368,6 +382,7 @@ class Dialog(QDialog): else: self._question_label.setText("Cancel") + @Slot() def warning_message(self): msg_box = QMessageBox(QMessageBox.Warning, "QMessageBox.warning()", Dialog.MESSAGE, @@ -379,6 +394,7 @@ class Dialog(QDialog): else: self._warning_label.setText("Continue") + @Slot() def error_message(self): self._error_message_dialog.showMessage("This dialog shows and remembers " "error messages. If the checkbox is checked (as it is by " diff --git a/examples/widgets/graphicsview/diagramscene/diagramscene.py b/examples/widgets/graphicsview/diagramscene/diagramscene.py index e653285c4..42ec7c544 100644 --- a/examples/widgets/graphicsview/diagramscene/diagramscene.py +++ b/examples/widgets/graphicsview/diagramscene/diagramscene.py @@ -6,10 +6,11 @@ import math import sys from PySide6.QtCore import (QLineF, QPointF, QRect, QRectF, QSize, QSizeF, Qt, - Signal) + Signal, Slot) from PySide6.QtGui import (QAction, QColor, QFont, QIcon, QIntValidator, QPainter, QPainterPath, QPen, QPixmap, QPolygonF) -from PySide6.QtWidgets import (QApplication, QButtonGroup, QComboBox, +from PySide6.QtWidgets import (QAbstractButton, QApplication, QButtonGroup, + QComboBox, QFontComboBox, QGraphicsAnchorLayout, QGraphicsItem, QGraphicsLineItem, QGraphicsPolygonItem, QGraphicsTextItem, @@ -382,6 +383,7 @@ class MainWindow(QMainWindow): self.setCentralWidget(self.widget) self.setWindowTitle("Diagramscene") + @Slot(QAbstractButton) def background_button_group_clicked(self, button): buttons = self._background_button_group.buttons() for myButton in buttons: @@ -401,6 +403,7 @@ class MainWindow(QMainWindow): self.scene.update() self.view.update() + @Slot(int) def button_group_clicked(self, idx): buttons = self._button_group.buttons() for button in buttons: @@ -413,15 +416,18 @@ class MainWindow(QMainWindow): self.scene.set_item_type(idx) self.scene.set_mode(DiagramScene.InsertItem) + @Slot() def delete_item(self): for item in self.scene.selectedItems(): if isinstance(item, DiagramItem): item.remove_arrows() self.scene.removeItem(item) + @Slot(int) def pointer_group_clicked(self, i): self.scene.set_mode(self._pointer_type_group.checkedId()) + @Slot() def bring_to_front(self): if not self.scene.selectedItems(): return @@ -435,6 +441,7 @@ class MainWindow(QMainWindow): z_value = item.zValue() + 0.1 selected_item.setZValue(z_value) + @Slot() def send_to_back(self): if not self.scene.selectedItems(): return @@ -448,21 +455,26 @@ class MainWindow(QMainWindow): z_value = item.zValue() - 0.1 selected_item.setZValue(z_value) + @Slot(QGraphicsPolygonItem) def item_inserted(self, item): self._pointer_type_group.button(DiagramScene.MoveItem).setChecked(True) self.scene.set_mode(self._pointer_type_group.checkedId()) self._button_group.button(item.diagram_type).setChecked(False) + @Slot(QGraphicsTextItem) def text_inserted(self, item): self._button_group.button(self.insert_text_button).setChecked(False) self.scene.set_mode(self._pointer_type_group.checkedId()) + @Slot(QFont) def current_font_changed(self, font): self.handle_font_change() + @Slot(int) def font_size_changed(self, font): self.handle_font_change() + @Slot(str) def scene_scale_changed(self, scale): new_scale = int(scale[:-1]) / 100.0 old_matrix = self.view.transform() @@ -470,6 +482,7 @@ class MainWindow(QMainWindow): self.view.translate(old_matrix.dx(), old_matrix.dy()) self.view.scale(new_scale, new_scale) + @Slot() def text_color_changed(self): self._text_action = self.sender() self._font_color_tool_button.setIcon(self.create_color_tool_button_icon( @@ -477,6 +490,7 @@ class MainWindow(QMainWindow): QColor(self._text_action.data()))) self.text_button_triggered() + @Slot() def item_color_changed(self): self._fill_action = self.sender() self._fill_color_tool_button.setIcon(self.create_color_tool_button_icon( @@ -484,6 +498,7 @@ class MainWindow(QMainWindow): QColor(self._fill_action.data()))) self.fill_button_triggered() + @Slot() def line_color_changed(self): self._line_action = self.sender() self._line_color_tool_button.setIcon(self.create_color_tool_button_icon( @@ -491,15 +506,19 @@ class MainWindow(QMainWindow): QColor(self._line_action.data()))) self.line_button_triggered() + @Slot() def text_button_triggered(self): self.scene.set_text_color(QColor(self._text_action.data())) + @Slot() def fill_button_triggered(self): self.scene.set_item_color(QColor(self._fill_action.data())) + @Slot() def line_button_triggered(self): self.scene.set_line_color(QColor(self._line_action.data())) + @Slot() def handle_font_change(self): font = self._font_combo.currentFont() font.setPointSize(int(self._font_size_combo.currentText())) @@ -512,6 +531,7 @@ class MainWindow(QMainWindow): self.scene.set_font(font) + @Slot(QGraphicsItem) def item_selected(self, item): font = item.font() color = item.defaultTextColor() @@ -521,6 +541,7 @@ class MainWindow(QMainWindow): self._italic_action.setChecked(font.italic()) self._underline_action.setChecked(font.underline()) + @Slot() def about(self): QMessageBox.about(self, "About Diagram Scene", "The Diagram Scene example shows use of the graphics framework.") diff --git a/examples/widgets/itemviews/address_book/address_book.py b/examples/widgets/itemviews/address_book/address_book.py index 2121f2783..2e1f6b9b0 100644 --- a/examples/widgets/itemviews/address_book/address_book.py +++ b/examples/widgets/itemviews/address_book/address_book.py @@ -2,6 +2,7 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +from PySide6.QtCore import Slot from PySide6.QtGui import QAction from PySide6.QtWidgets import (QMainWindow, QFileDialog, QApplication) @@ -60,11 +61,13 @@ class MainWindow(QMainWindow): # # In PySide6, these functions return a tuple: (filename, filter) + @Slot() def open_file(self): filename, _ = QFileDialog.getOpenFileName(self) if filename: self._address_widget.read_from_file(filename) + @Slot() def save_file(self): filename, _ = QFileDialog.getSaveFileName(self) if filename: diff --git a/examples/widgets/itemviews/address_book/addresswidget.py b/examples/widgets/itemviews/address_book/addresswidget.py index 7987ae3cd..ab1330e48 100644 --- a/examples/widgets/itemviews/address_book/addresswidget.py +++ b/examples/widgets/itemviews/address_book/addresswidget.py @@ -7,7 +7,7 @@ try: except ImportError: import pickle -from PySide6.QtCore import (Qt, Signal, QRegularExpression, QModelIndex, +from PySide6.QtCore import (Qt, Signal, Slot, QRegularExpression, QModelIndex, QItemSelection, QSortFilterProxyModel) from PySide6.QtWidgets import QTabWidget, QMessageBox, QTableView, QAbstractItemView @@ -35,6 +35,7 @@ class AddressWidget(QTabWidget): self.setup_tabs() + @Slot() def add_entry(self, name=None, address=None): """ Add an entry to the addressbook. """ if name is None and address is None: @@ -83,6 +84,7 @@ class AddressWidget(QTabWidget): table_view = self.currentWidget() table_view.resizeRowToContents(ix.row()) + @Slot() def edit_entry(self): """ Edit an entry in the addressbook. """ table_view = self.currentWidget() @@ -115,6 +117,7 @@ class AddressWidget(QTabWidget): ix = self._table_model.index(row, 1, QModelIndex()) self._table_model.setData(ix, new_address, Qt.EditRole) + @Slot() def remove_entry(self): """ Remove an entry from the addressbook. """ table_view = self.currentWidget() diff --git a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py index a61a76cb8..834237404 100644 --- a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py +++ b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py @@ -4,7 +4,7 @@ import sys from PySide6.QtCore import (QDate, QDateTime, QRegularExpression, - QSortFilterProxyModel, QTime, Qt) + QSortFilterProxyModel, QTime, Qt, Slot) from PySide6.QtGui import QStandardItemModel from PySide6.QtWidgets import (QApplication, QCheckBox, QComboBox, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit, @@ -102,6 +102,7 @@ class Window(QWidget): self._proxy_model.setSourceModel(model) self._source_view.setModel(model) + @Slot() def filter_reg_exp_changed(self): syntax_nr = self._filter_syntax_combo_box.currentData() pattern = self._filter_pattern_line_edit.text() @@ -117,9 +118,11 @@ class Window(QWidget): reg_exp.setPatternOptions(options) self._proxy_model.setFilterRegularExpression(reg_exp) + @Slot() def filter_column_changed(self): self._proxy_model.setFilterKeyColumn(self._filter_column_combo_box.currentIndex()) + @Slot() def sort_changed(self): if self._sort_case_sensitivity_check_box.isChecked(): case_sensitivity = Qt.CaseSensitive diff --git a/examples/widgets/itemviews/fetchmore/fetchmore.py b/examples/widgets/itemviews/fetchmore/fetchmore.py index 08617edad..1943273c6 100644 --- a/examples/widgets/itemviews/fetchmore/fetchmore.py +++ b/examples/widgets/itemviews/fetchmore/fetchmore.py @@ -113,7 +113,7 @@ class Window(QWidget): self.setWindowTitle("Fetch More Example") - @Slot(str, int, int) + @Slot(str,int,int,int) def update_log(self, path, start, number, total): native_path = QDir.toNativeSeparators(path) last = start + number - 1 diff --git a/examples/widgets/itemviews/spreadsheet/spreadsheet.py b/examples/widgets/itemviews/spreadsheet/spreadsheet.py index 2f5fbb64f..82ebe5ebb 100644 --- a/examples/widgets/itemviews/spreadsheet/spreadsheet.py +++ b/examples/widgets/itemviews/spreadsheet/spreadsheet.py @@ -134,7 +134,7 @@ class SpreadSheet(QMainWindow): about_menu = self.menuBar().addMenu("&Help") about_menu.addAction(self._about_spreadsheet) - @Slot() + @Slot(QTableWidgetItem) def update_status(self, item: QTableWidgetItem) -> None: if item and item == self._table.currentItem(): self.statusBar().showMessage(str(item.data(Qt.StatusTipRole)), 1000) @@ -144,7 +144,7 @@ class SpreadSheet(QMainWindow): ) ) - @Slot() + @Slot(QTableWidgetItem) def update_color(self, item: QTableWidgetItem) -> None: pix = QPixmap(16, 16) col = QColor() @@ -169,7 +169,7 @@ class SpreadSheet(QMainWindow): self._color_action.setIcon(pix) - @Slot() + @Slot(QTableWidgetItem) def update_line_edit(self, item: QTableWidgetItem) -> None: if item != self._table.currentItem(): return diff --git a/examples/widgets/mainwindows/application/application.py b/examples/widgets/mainwindows/application/application.py index 79c3b0f03..6fb01e912 100644 --- a/examples/widgets/mainwindows/application/application.py +++ b/examples/widgets/mainwindows/application/application.py @@ -6,7 +6,7 @@ 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) @@ -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,12 +70,14 @@ class MainWindow(QMainWindow): return False + @Slot() def about(self): QMessageBox.about(self, "About Application", "The Application 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()) diff --git a/examples/widgets/mainwindows/mdi/mdi.py b/examples/widgets/mainwindows/mdi/mdi.py index af402ffe8..de6b2b960 100644 --- a/examples/widgets/mainwindows/mdi/mdi.py +++ b/examples/widgets/mainwindows/mdi/mdi.py @@ -9,7 +9,7 @@ from functools import partial import sys from PySide6.QtCore import (QByteArray, QFile, QFileInfo, QPoint, QSettings, - QSaveFile, QSize, QTextStream, Qt) + QSaveFile, QSize, QTextStream, Qt, Slot) from PySide6.QtGui import QAction, QIcon, QKeySequence from PySide6.QtWidgets import (QApplication, QFileDialog, QMainWindow, QMdiArea, QMessageBox, QTextEdit, QWidget) @@ -156,11 +156,13 @@ class MainWindow(QMainWindow): self.write_settings() event.accept() + @Slot() def new_file(self): child = self.create_mdi_child() child.new_file() child.show() + @Slot() def open(self): file_name, _ = QFileDialog.getOpenFileName(self) if file_name: @@ -178,31 +180,38 @@ class MainWindow(QMainWindow): else: child.close() + @Slot() def save(self): if self.active_mdi_child() and self.active_mdi_child().save(): self.statusBar().showMessage("File saved", 2000) + @Slot() def save_as(self): if self.active_mdi_child() and self.active_mdi_child().save_as(): self.statusBar().showMessage("File saved", 2000) + @Slot() def cut(self): if self.active_mdi_child(): self.active_mdi_child().cut() + @Slot() def copy(self): if self.active_mdi_child(): self.active_mdi_child().copy() + @Slot() def paste(self): if self.active_mdi_child(): self.active_mdi_child().paste() + @Slot() def about(self): QMessageBox.about(self, "About MDI", "The MDI example demonstrates how to write multiple " "document interface applications using Qt.") + @Slot() def update_menus(self): has_mdi_child = (self.active_mdi_child() is not None) self._save_act.setEnabled(has_mdi_child) @@ -221,6 +230,7 @@ class MainWindow(QMainWindow): self._cut_act.setEnabled(has_selection) self._copy_act.setEnabled(has_selection) + @Slot() def update_window_menu(self): self._window_menu.clear() self._window_menu.addAction(self._close_act) @@ -402,6 +412,7 @@ class MainWindow(QMainWindow): return window return None + @Slot() def switch_layout_direction(self): if self.layoutDirection() == Qt.LeftToRight: QApplication.setLayoutDirection(Qt.RightToLeft) diff --git a/examples/widgets/richtext/orderform/orderform.py b/examples/widgets/richtext/orderform/orderform.py index 9f16c40a2..15bb26cc2 100644 --- a/examples/widgets/richtext/orderform/orderform.py +++ b/examples/widgets/richtext/orderform/orderform.py @@ -156,6 +156,7 @@ class MainWindow(QMainWindow): '12 High Street\nSmall Town\nThis country', dialog.order_items(), True) + @Slot() def open_dialog(self): dialog = DetailsDialog("Enter Customer Details", self) @@ -163,6 +164,7 @@ class MainWindow(QMainWindow): self.create_letter(dialog.sender_name(), dialog.sender_address(), dialog.order_items(), dialog.send_offers()) + @Slot() def print_file(self): editor = self.letters.currentWidget() printer = QPrinter() @@ -241,6 +243,7 @@ class DetailsDialog(QDialog): def send_offers(self): return self._offers_check_box.isChecked() + @Slot() def verify(self): if self._name_edit.text() and self._address_edit.toPlainText(): self.accept() diff --git a/examples/widgets/richtext/textobject/textobject.py b/examples/widgets/richtext/textobject/textobject.py index 3bc5f4bd2..cfd065e22 100644 --- a/examples/widgets/richtext/textobject/textobject.py +++ b/examples/widgets/richtext/textobject/textobject.py @@ -8,7 +8,7 @@ import os from pathlib import Path import sys -from PySide6.QtCore import QFile, QIODevice, QObject, QSizeF, Qt +from PySide6.QtCore import QFile, QIODevice, QObject, QSizeF, Qt, Slot from PySide6.QtGui import (QTextCharFormat, QTextFormat, QTextObjectInterface, QPyTextObject) from PySide6.QtWidgets import (QApplication, QHBoxLayout, QLabel, QLineEdit, @@ -51,6 +51,7 @@ class Window(QWidget): self.setWindowTitle(self.tr("Text Object Example")) + @Slot() def insert_text_object(self): file_name = self._file_name_line_edit.text() file = QFile(file_name) diff --git a/examples/widgets/tetrix/tetrix.py b/examples/widgets/tetrix/tetrix.py index 49fd7c4ff..391ea0a2a 100644 --- a/examples/widgets/tetrix/tetrix.py +++ b/examples/widgets/tetrix/tetrix.py @@ -140,6 +140,7 @@ class TetrixBoard(QFrame): return QSize(TetrixBoard.board_width * 5 + self.frameWidth() * 2, TetrixBoard.board_height * 5 + self.frameWidth() * 2) + @Slot() def start(self): if self._is_paused: return @@ -159,6 +160,7 @@ class TetrixBoard(QFrame): self.new_piece() self.timer.start(self.timeout_time(), self) + @Slot() def pause(self): if not self._is_started: return diff --git a/examples/widgets/tools/regularexpression/regularexpressiondialog.py b/examples/widgets/tools/regularexpression/regularexpressiondialog.py index 9ebf8a65d..ab8d12c15 100644 --- a/examples/widgets/tools/regularexpression/regularexpressiondialog.py +++ b/examples/widgets/tools/regularexpression/regularexpressiondialog.py @@ -76,6 +76,7 @@ class PatternLineEdit(QLineEdit): self.copyToCodeAction.triggered.connect(self.copyToCode) self.pasteFromCodeAction.triggered.connect(self.pasteFromCode) + @Slot() def escapeSelection(self): selection = self.selectedText() selection_start = self.selectionStart() @@ -89,9 +90,11 @@ class PatternLineEdit(QLineEdit): ) self.setText(t) + @Slot() def copyToCode(self): QGuiApplication.clipboard().setText(patternToCode(self.text())) + @Slot() def pasteFromCode(self): self.setText(codeToPattern(QGuiApplication.clipboard().text())) @@ -165,6 +168,7 @@ class RegularExpressionDialog(QDialog): self.palette.setColor(QPalette.Text, color) widget.setPalette(self.palette) + @Slot() def refresh(self): self.setUpdatesEnabled(False) self.pattern = self.patternLineEdit.text() diff --git a/examples/widgets/tutorials/addressbook/part3.py b/examples/widgets/tutorials/addressbook/part3.py index 5365c1ae0..af5babc9b 100644 --- a/examples/widgets/tutorials/addressbook/part3.py +++ b/examples/widgets/tutorials/addressbook/part3.py @@ -110,6 +110,7 @@ class AddressBook(QWidget): self._submit_button.show() self._cancel_button.show() + @Slot() def submit_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -143,6 +144,7 @@ class AddressBook(QWidget): self._submit_button.hide() self._cancel_button.hide() + @Slot() def cancel(self): self._name_line.setText(self._old_name) self._address_text.setText(self._old_address) @@ -162,6 +164,7 @@ class AddressBook(QWidget): self._submit_button.hide() self._cancel_button.hide() + @Slot() def next(self): name = self._name_line.text() it = iter(self.contacts) @@ -179,6 +182,7 @@ class AddressBook(QWidget): self._name_line.setText(next_name) self._address_text.setText(next_address) + @Slot() def previous(self): name = self._name_line.text() diff --git a/examples/widgets/tutorials/addressbook/part4.py b/examples/widgets/tutorials/addressbook/part4.py index 0b1edb054..11d65ab3c 100644 --- a/examples/widgets/tutorials/addressbook/part4.py +++ b/examples/widgets/tutorials/addressbook/part4.py @@ -105,6 +105,7 @@ class AddressBook(QWidget): self.setLayout(main_layout) self.setWindowTitle("Simple Address Book") + @Slot() def add_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() @@ -114,12 +115,14 @@ class AddressBook(QWidget): self.update_interface(self.AddingMode) + @Slot() def edit_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() self.update_interface(self.EditingMode) + @Slot() def submit_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -157,11 +160,13 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def cancel(self): self._name_line.setText(self._old_name) self._address_text.setText(self._old_address) self.update_interface(self.NavigationMode) + @Slot() def remove_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -180,6 +185,7 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def next(self): name = self._name_line.text() it = iter(self.contacts) @@ -197,6 +203,7 @@ class AddressBook(QWidget): self._name_line.setText(next_name) self._address_text.setText(next_address) + @Slot() def previous(self): name = self._name_line.text() diff --git a/examples/widgets/tutorials/addressbook/part5.py b/examples/widgets/tutorials/addressbook/part5.py index 48404c95d..41e725ce1 100644 --- a/examples/widgets/tutorials/addressbook/part5.py +++ b/examples/widgets/tutorials/addressbook/part5.py @@ -112,6 +112,7 @@ class AddressBook(QWidget): self.setLayout(main_layout) self.setWindowTitle("Simple Address Book") + @Slot() def add_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() @@ -121,12 +122,14 @@ class AddressBook(QWidget): self.update_interface(self.AddingMode) + @Slot() def edit_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() self.update_interface(self.EditingMode) + @Slot() def submit_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -164,11 +167,13 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def cancel(self): self._name_line.setText(self._old_name) self._address_text.setText(self._old_address) self.update_interface(self.NavigationMode) + @Slot() def remove_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -187,6 +192,7 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def next(self): name = self._name_line.text() it = iter(self.contacts) @@ -204,6 +210,7 @@ class AddressBook(QWidget): self._name_line.setText(next_name) self._address_text.setText(next_address) + @Slot() def previous(self): name = self._name_line.text() diff --git a/examples/widgets/tutorials/addressbook/part6.py b/examples/widgets/tutorials/addressbook/part6.py index 9070a34da..095c67175 100644 --- a/examples/widgets/tutorials/addressbook/part6.py +++ b/examples/widgets/tutorials/addressbook/part6.py @@ -122,6 +122,7 @@ class AddressBook(QWidget): self.setLayout(main_layout) self.setWindowTitle("Simple Address Book") + @Slot() def add_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() @@ -131,12 +132,14 @@ class AddressBook(QWidget): self.update_interface(self.AddingMode) + @Slot() def edit_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() self.update_interface(self.EditingMode) + @Slot() def submit_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -174,11 +177,13 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def cancel(self): self._name_line.setText(self._old_name) self._address_text.setText(self._old_address) self.update_interface(self.NavigationMode) + @Slot() def remove_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -197,6 +202,7 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def next(self): name = self._name_line.text() it = iter(self.contacts) @@ -214,6 +220,7 @@ class AddressBook(QWidget): self._name_line.setText(next_name) self._address_text.setText(next_address) + @Slot() def previous(self): name = self._name_line.text() diff --git a/examples/widgets/tutorials/addressbook/part7.py b/examples/widgets/tutorials/addressbook/part7.py index 2fc7a8d1c..9addc32e0 100644 --- a/examples/widgets/tutorials/addressbook/part7.py +++ b/examples/widgets/tutorials/addressbook/part7.py @@ -128,6 +128,7 @@ class AddressBook(QWidget): self.setLayout(main_layout) self.setWindowTitle("Simple Address Book") + @Slot() def add_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() @@ -137,12 +138,14 @@ class AddressBook(QWidget): self.update_interface(self.AddingMode) + @Slot() def edit_contact(self): self._old_name = self._name_line.text() self._old_address = self._address_text.toPlainText() self.update_interface(self.EditingMode) + @Slot() def submit_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -180,11 +183,13 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def cancel(self): self._name_line.setText(self._old_name) self._address_text.setText(self._old_address) self.update_interface(self.NavigationMode) + @Slot() def remove_contact(self): name = self._name_line.text() address = self._address_text.toPlainText() @@ -203,6 +208,7 @@ class AddressBook(QWidget): self.update_interface(self.NavigationMode) + @Slot() def next(self): name = self._name_line.text() it = iter(self.contacts) @@ -220,6 +226,7 @@ class AddressBook(QWidget): self._name_line.setText(next_name) self._address_text.setText(next_address) + @Slot() def previous(self): name = self._name_line.text() diff --git a/examples/widgets/widgetsgallery/widgetgallery.py b/examples/widgets/widgetsgallery/widgetgallery.py index d96241106..72cac1c8f 100644 --- a/examples/widgets/widgetsgallery/widgetgallery.py +++ b/examples/widgets/widgetsgallery/widgetgallery.py @@ -8,7 +8,7 @@ from PySide6.QtGui import (QCursor, QDesktopServices, QGuiApplication, QIcon, QKeySequence, QShortcut, QStandardItem, QStandardItemModel, QScreen, QWindow) from PySide6.QtCore import (QDateTime, QDir, QLibraryInfo, QMetaObject, - QSysInfo, QTextStream, QTimer, Qt, qVersion) + QSysInfo, QTextStream, QTimer, Qt, qVersion, Slot) POEM = """Twinkle, twinkle, little star, @@ -180,9 +180,11 @@ class WidgetGallery(QDialog): self.windowHandle().screenChanged.connect(self.update_systeminfo) self.update_systeminfo() + @Slot(str) def change_style(self, style_name): QApplication.setStyle(QStyleFactory.create(style_name)) + @Slot() def advance_progressbar(self): cur_val = self._progress_bar.value() max_val = self._progress_bar.maximum() @@ -379,6 +381,7 @@ class WidgetGallery(QDialog): timer.start(1000) return result + @Slot() def update_systeminfo(self): """Display system information""" system_info = SYSTEMINFO.format(sys.version, @@ -387,6 +390,7 @@ class WidgetGallery(QDialog): screen_info(self)) self._systeminfo_textbrowser.setHtml(system_info) + @Slot() def help_on_current_widget(self): """Display help on widget under mouse""" w = QApplication.widgetAt(QCursor.pos(self.screen())) -- cgit v1.2.3