diff options
author | Friedemann Kleint <[email protected]> | 2024-12-20 08:35:46 +0100 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2025-01-06 11:52:18 +0100 |
commit | 7189a4c5ec193d30c6bd4e68701038880cbc5982 (patch) | |
tree | 87e4ec00d7e9d31e5df0c11b155e46ffd3726362 | |
parent | ab8b330123cb557f66306b237f4c3aa8c0004f39 (diff) |
Use fully qualified enumerations in more examples
Pick-to: 6.8
Task-number: PYSIDE-1735
Change-Id: Ic2c478ef363d73f65f366e21529c0429c86539aa
Reviewed-by: Cristian Maureira-Fredes <[email protected]>
72 files changed, 555 insertions, 540 deletions
diff --git a/examples/bluetooth/btscanner/device.py b/examples/bluetooth/btscanner/device.py index f5a361fa9..b36673a4e 100644 --- a/examples/bluetooth/btscanner/device.py +++ b/examples/bluetooth/btscanner/device.py @@ -34,7 +34,7 @@ class DeviceDiscoveryDialog(QDialog): self.host_mode_state_changed(self._local_device.hostMode()) # add context menu for devices to be able to pair device - self._ui.list.setContextMenuPolicy(Qt.CustomContextMenu) + self._ui.list.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) self._ui.list.customContextMenuRequested.connect(self.display_pairing_menu) self._local_device.pairingFinished.connect(self.pairing_done) @@ -46,11 +46,11 @@ class DeviceDiscoveryDialog(QDialog): if not items: item = QListWidgetItem(label) pairing_status = self._local_device.pairingStatus(info.address()) - if (pairing_status == QBluetoothLocalDevice.Paired - or pairing_status == QBluetoothLocalDevice.AuthorizedPaired): - item.setForeground(QColor(Qt.green)) + if (pairing_status == QBluetoothLocalDevice.Pairing.Paired + or pairing_status == QBluetoothLocalDevice.Pairing.AuthorizedPaired): + item.setForeground(QColor(Qt.GlobalColor.green)) else: - item.setForeground(QColor(Qt.black)) + item.setForeground(QColor(Qt.GlobalColor.black)) self._ui.list.addItem(item) @Slot() @@ -78,9 +78,9 @@ class DeviceDiscoveryDialog(QDialog): @Slot(bool) def on_discoverable_clicked(self, clicked): if clicked: - self._local_device.setHostMode(QBluetoothLocalDevice.HostDiscoverable) + self._local_device.setHostMode(QBluetoothLocalDevice.HostMode.HostDiscoverable) else: - self._local_device.setHostMode(QBluetoothLocalDevice.HostConnectable) + self._local_device.setHostMode(QBluetoothLocalDevice.HostMode.HostConnectable) @Slot(bool) def on_power_clicked(self, clicked): @@ -91,10 +91,10 @@ class DeviceDiscoveryDialog(QDialog): @Slot("QBluetoothLocalDevice::HostMode") def host_mode_state_changed(self, mode): - self._ui.power.setChecked(mode != QBluetoothLocalDevice.HostPoweredOff) - self._ui.discoverable.setChecked(mode == QBluetoothLocalDevice.HostDiscoverable) + self._ui.power.setChecked(mode != QBluetoothLocalDevice.HostMode.HostPoweredOff) + self._ui.discoverable.setChecked(mode == QBluetoothLocalDevice.HostMode.HostDiscoverable) - on = mode != QBluetoothLocalDevice.HostPoweredOff + on = mode != QBluetoothLocalDevice.HostMode.HostPoweredOff self._ui.scan.setEnabled(on) self._ui.discoverable.setEnabled(on) diff --git a/examples/corelib/settingseditor/settingseditor.py b/examples/corelib/settingseditor/settingseditor.py index f5a83afd6..7da39a77c 100644 --- a/examples/corelib/settingseditor/settingseditor.py +++ b/examples/corelib/settingseditor/settingseditor.py @@ -28,7 +28,7 @@ class TypeChecker: def __init__(self, parent=None): self.bool_exp = QRegularExpression('^(true)|(false)$') assert self.bool_exp.isValid() - self.bool_exp.setPatternOptions(QRegularExpression.CaseInsensitiveOption) + self.bool_exp.setPatternOptions(QRegularExpression.PatternOption.CaseInsensitiveOption) self.byteArray_exp = QRegularExpression(r'^[\x00-\xff]*$') assert self.byteArray_exp.isValid() @@ -106,13 +106,13 @@ class TypeChecker: min(int(match.captured(3)), 255), min(int(match.captured(4)), 255)) if isinstance(original_value, QDate): - value = QDate.fromString(text, Qt.ISODate) + value = QDate.fromString(text, Qt.DateFormat.ISODate) return value if value.isValid() else None if isinstance(original_value, QDateTime): - value = QDateTime.fromString(text, Qt.ISODate) + value = QDateTime.fromString(text, Qt.DateFormat.ISODate) return value if value.isValid() else None if isinstance(original_value, QTime): - value = QTime.fromString(text, Qt.ISODate) + value = QTime.fromString(text, Qt.DateFormat.ISODate) return value if value.isValid() else None if isinstance(original_value, QPoint): match = self.point_exp.match(text) @@ -173,8 +173,8 @@ class MainWindow(QMainWindow): self.load_ini_file(file_name) def load_ini_file(self, file_name): - settings = QSettings(file_name, QSettings.IniFormat) - if settings.status() != QSettings.NoError: + settings = QSettings(file_name, QSettings.Format.IniFormat) + if settings.status() != QSettings.Status.NoError: return self.set_settings_object(settings) self.fallbacks_action.setEnabled(False) @@ -186,7 +186,7 @@ class MainWindow(QMainWindow): "Property List Files (*.plist)") if file_name: - settings = QSettings(file_name, QSettings.NativeFormat) + settings = QSettings(file_name, QSettings.Format.NativeFormat) self.set_settings_object(settings) self.fallbacks_action.setEnabled(False) @@ -197,7 +197,7 @@ class MainWindow(QMainWindow): QLineEdit.Normal, 'HKEY_CURRENT_USER\\') if ok and path != '': - settings = QSettings(path, QSettings.NativeFormat) + settings = QSettings(path, QSettings.Format.NativeFormat) self.set_settings_object(settings) self.fallbacks_action.setEnabled(False) @@ -322,15 +322,17 @@ class LocationDialog(QDialog): self.locations_groupbox = QGroupBox("Setting Locations") self.locations_table = QTableWidget() - self.locations_table.setSelectionMode(QAbstractItemView.SingleSelection) - self.locations_table.setSelectionBehavior(QAbstractItemView.SelectRows) - self.locations_table.setEditTriggers(QAbstractItemView.NoEditTriggers) + self.locations_table.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection) + self.locations_table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) + self.locations_table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) self.locations_table.setColumnCount(2) self.locations_table.setHorizontalHeaderLabels(("Location", "Access")) - self.locations_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch) - self.locations_table.horizontalHeader().resizeSection(1, 180) + header = self.locations_table.horizontalHeader() + header.setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch) + header.resizeSection(1, 180) - self.button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + self.button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok + | QDialogButtonBox.StandardButton.Cancel) self.format_combo.activated.connect(self.update_locations) self.scope_cCombo.activated.connect(self.update_locations) @@ -361,15 +363,15 @@ class LocationDialog(QDialog): def format(self): if self.format_combo.currentIndex() == 0: - return QSettings.NativeFormat + return QSettings.Format.NativeFormat else: - return QSettings.IniFormat + return QSettings.Format.IniFormat def scope(self): if self.scope_cCombo.currentIndex() == 0: - return QSettings.UserScope + return QSettings.Scope.UserScope else: - return QSettings.SystemScope + return QSettings.Scope.SystemScope def organization(self): return self.organization_combo.currentText() @@ -386,12 +388,12 @@ class LocationDialog(QDialog): for i in range(2): if i == 0: - if self.scope() == QSettings.SystemScope: + if self.scope() == QSettings.Scope.SystemScope: continue - actual_scope = QSettings.UserScope + actual_scope = QSettings.Scope.UserScope else: - actual_scope = QSettings.SystemScope + actual_scope = QSettings.Scope.SystemScope for j in range(2): if j == 0: @@ -420,13 +422,13 @@ class LocationDialog(QDialog): disable = False else: item1.setText("Read-only") - self.button_box.button(QDialogButtonBox.Ok).setDisabled(disable) + self.button_box.button(QDialogButtonBox.StandardButton.Ok).setDisabled(disable) else: item1.setText("Read-only fallback") if disable: - item0.setFlags(item0.flags() & ~Qt.ItemIsEnabled) - item1.setFlags(item1.flags() & ~Qt.ItemIsEnabled) + item0.setFlags(item0.flags() & ~Qt.ItemFlag.ItemIsEnabled) + item1.setFlags(item1.flags() & ~Qt.ItemFlag.ItemIsEnabled) self.locations_table.setItem(row, 0, item0) self.locations_table.setItem(row, 1, item1) @@ -442,8 +444,8 @@ class SettingsTree(QTreeWidget): self.setItemDelegate(VariantDelegate(self._type_checker, self)) self.setHeaderLabels(("Setting", "Type", "Value")) - self.header().setSectionResizeMode(0, QHeaderView.Stretch) - self.header().setSectionResizeMode(2, QHeaderView.Stretch) + self.header().setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch) + self.header().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) self.settings = None self.refresh_timer = QTimer() @@ -452,12 +454,12 @@ class SettingsTree(QTreeWidget): self.group_icon = QIcon() style = self.style() - self.group_icon.addPixmap(style.standardPixmap(QStyle.SP_DirClosedIcon), - QIcon.Normal, QIcon.Off) - self.group_icon.addPixmap(style.standardPixmap(QStyle.SP_DirOpenIcon), - QIcon.Normal, QIcon.On) + self.group_icon.addPixmap(style.standardPixmap(QStyle.StandardPixmap.SP_DirClosedIcon), + QIcon.Mode.Normal, QIcon.State.Off) + self.group_icon.addPixmap(style.standardPixmap(QStyle.StandardPixmap.SP_DirOpenIcon), + QIcon.Mode.Normal, QIcon.State.On) self.key_icon = QIcon() - self.key_icon.addPixmap(style.standardPixmap(QStyle.SP_FileIcon)) + self.key_icon.addPixmap(style.standardPixmap(QStyle.StandardPixmap.SP_FileIcon)) self.refresh_timer.timeout.connect(self.maybe_refresh) @@ -515,7 +517,7 @@ class SettingsTree(QTreeWidget): self.itemChanged.connect(self.update_setting) def event(self, event): - if event.type() == QEvent.WindowActivate: + if event.type() == QEvent.Type.WindowActivate: if self.isActiveWindow() and self.auto_refresh: self.maybe_refresh() @@ -598,7 +600,7 @@ class SettingsTree(QTreeWidget): item = QTreeWidgetItem(self, after) item.setText(0, text) - item.setFlags(item.flags() | Qt.ItemIsEditable) + item.setFlags(item.flags() | Qt.ItemFlag.ItemIsEditable) return item def delete_item(self, parent, index): diff --git a/examples/demos/documentviewer/abstractviewer.py b/examples/demos/documentviewer/abstractviewer.py index 87eaf6fc3..2c07c10c6 100644 --- a/examples/demos/documentviewer/abstractviewer.py +++ b/examples/demos/documentviewer/abstractviewer.py @@ -148,10 +148,10 @@ class AbstractViewer(QObject): if not self.hasContent(): self.statusMessage("No content to print.", type) return - printer = QPrinter(QPrinter.HighResolution) + printer = QPrinter(QPrinter.PrinterMode.HighResolution) dlg = QPrintDialog(printer, self.mainWindow()) dlg.setWindowTitle("Print Document") - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: self.printDocument(printer) else: self.statusMessage("Printing canceled!", type) diff --git a/examples/demos/documentviewer/jsonviewer/jsonviewer.py b/examples/demos/documentviewer/jsonviewer/jsonviewer.py index 7923265ba..0cdf53692 100644 --- a/examples/demos/documentviewer/jsonviewer/jsonviewer.py +++ b/examples/demos/documentviewer/jsonviewer/jsonviewer.py @@ -189,14 +189,14 @@ class JsonViewer(AbstractViewer): zoomInIcon = QIcon.fromTheme(QIcon.ThemeIcon.ZoomIn) a = menu.addAction(zoomInIcon, "&+Expand all", self._tree.expandAll) tb.addAction(a) - a.setPriority(QAction.LowPriority) - a.setShortcut(QKeySequence.New) + a.setPriority(QAction.Priority.LowPriority) + a.setShortcut(QKeySequence.StandardKey.New) zoomOutIcon = QIcon.fromTheme(QIcon.ThemeIcon.ZoomOut) a = menu.addAction(zoomOutIcon, "&-Collapse all", self._tree.collapseAll) tb.addAction(a) - a.setPriority(QAction.LowPriority) - a.setShortcut(QKeySequence.New) + a.setPriority(QAction.Priority.LowPriority) + a.setShortcut(QKeySequence.StandardKey.New) if not self._searchKey: self._searchKey = QLineEdit(tb) @@ -224,8 +224,8 @@ class JsonViewer(AbstractViewer): self._toplevel.setAcceptDrops(True) self._tree.setDragEnabled(True) - self._tree.setContextMenuPolicy(Qt.CustomContextMenu) - self._toplevel.setContextMenuPolicy(Qt.CustomContextMenu) + self._tree.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) + self._toplevel.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) self._toplevel.itemClicked.connect(self.onTopLevelItemClicked) self._toplevel.itemDoubleClicked.connect(self.onTopLevelItemDoubleClicked) @@ -260,7 +260,7 @@ class JsonViewer(AbstractViewer): self.disablePrinting() file_name = QDir.toNativeSeparators(self._file.fileName()) type = "open" - self._file.open(QIODevice.ReadOnly) + self._file.open(QIODevice.OpenModeFlag.ReadOnly) self._text = self._file.readAll().data().decode("utf-8") self._file.close() diff --git a/examples/demos/documentviewer/mainwindow.py b/examples/demos/documentviewer/mainwindow.py index c3e853f38..d72cca283 100644 --- a/examples/demos/documentviewer/mainwindow.py +++ b/examples/demos/documentviewer/mainwindow.py @@ -67,7 +67,7 @@ class MainWindow(QMainWindow): def onActionOpenTriggered(self): fileDialog = QFileDialog(self, "Open Document", self._currentDir.absolutePath()) - while (fileDialog.exec() == QDialog.Accepted + while (fileDialog.exec() == QDialog.DialogCode.Accepted and not self.openFile(fileDialog.selectedFiles()[0])): pass diff --git a/examples/demos/documentviewer/pdfviewer/pdfviewer.py b/examples/demos/documentviewer/pdfviewer/pdfviewer.py index 049653381..a1f4e7447 100644 --- a/examples/demos/documentviewer/pdfviewer/pdfviewer.py +++ b/examples/demos/documentviewer/pdfviewer/pdfviewer.py @@ -126,7 +126,7 @@ class PdfViewer(AbstractViewer): def openPdfFile(self): self.disablePrinting() - if self._file.open(QIODevice.ReadOnly): + if self._file.open(QIODevice.OpenModeFlag.ReadOnly): self._document.load(self._file) documentTitle = self._document.metaData(QPdfDocument.MetaDataField.Title) diff --git a/examples/demos/documentviewer/txtviewer/txtviewer.py b/examples/demos/documentviewer/txtviewer/txtviewer.py index f2fe5bd37..31754eae2 100644 --- a/examples/demos/documentviewer/txtviewer/txtviewer.py +++ b/examples/demos/documentviewer/txtviewer/txtviewer.py @@ -32,7 +32,7 @@ class TxtViewer(AbstractViewer): cutIcon = QIcon.fromTheme(QIcon.ThemeIcon.EditCut, QIcon(":/demos/documentviewer/images/cut.png")) cutAct = QAction(cutIcon, "Cut", self) - cutAct.setShortcuts(QKeySequence.Cut) + cutAct.setShortcuts(QKeySequence.StandardKey.Cut) cutAct.setStatusTip("Cut the current selection's contents to the clipboard") cutAct.triggered.connect(self._textEdit.cut) editMenu.addAction(cutAct) @@ -41,7 +41,7 @@ class TxtViewer(AbstractViewer): copyIcon = QIcon.fromTheme(QIcon.ThemeIcon.EditCopy, QIcon(":/demos/documentviewer/images/copy.png")) copyAct = QAction(copyIcon, "Copy", self) - copyAct.setShortcuts(QKeySequence.Copy) + copyAct.setShortcuts(QKeySequence.StandardKey.Copy) copyAct.setStatusTip("Copy the current selection's contents to the clipboard") copyAct.triggered.connect(self._textEdit.copy) editMenu.addAction(copyAct) @@ -50,7 +50,7 @@ class TxtViewer(AbstractViewer): pasteIcon = QIcon.fromTheme(QIcon.ThemeIcon.EditPaste, QIcon(":/demos/documentviewer/images/paste.png")) pasteAct = QAction(pasteIcon, "Paste", self) - pasteAct.setShortcuts(QKeySequence.Paste) + pasteAct.setShortcuts(QKeySequence.StandardKey.Paste) pasteAct.setStatusTip("Paste the clipboard's contents into the current selection") pasteAct.triggered.connect(self._textEdit.paste) editMenu.addAction(pasteAct) @@ -88,13 +88,14 @@ class TxtViewer(AbstractViewer): def openFile(self): type = "open" file_name = QDir.toNativeSeparators(self._file.fileName()) - if not self._file.open(QFile.ReadOnly | QFile.Text): + if not self._file.open(QFile.OpenModeFlag.ReadOnly + | QFile.OpenModeFlag.Text): err = self._file.errorString() self.statusMessage(f"Cannot read file {file_name}:\n{err}.", type) return in_str = QTextStream(self._file) - QGuiApplication.setOverrideCursor(Qt.WaitCursor) + QGuiApplication.setOverrideCursor(Qt.CursorShape.WaitCursor) if self._textEdit.toPlainText(): self._textEdit.clear() self.disablePrinting() @@ -117,8 +118,8 @@ class TxtViewer(AbstractViewer): def saveFile(self, file): file_name = QDir.toNativeSeparators(self._file.fileName()) errorMessage = "" - QGuiApplication.setOverrideCursor(Qt.WaitCursor) - if file.open(QFile.WriteOnly | QFile.Text): + QGuiApplication.setOverrideCursor(Qt.CursorShape.WaitCursor) + if file.open(QFile.OpenModeFlag.WriteOnly | QFile.OpenModeFlag.Text): out = QTextStream(file) out << self._textEdit.toPlainText() else: @@ -136,8 +137,8 @@ class TxtViewer(AbstractViewer): def saveDocumentAs(self): dialog = QFileDialog(self.mainWindow()) dialog.setWindowModality(Qt.WindowModal) - dialog.setAcceptMode(QFileDialog.AcceptSave) - if dialog.exec() != QDialog.Accepted: + dialog.setAcceptMode(QFileDialog.AcceptMode.AcceptSave) + if dialog.exec() != QDialog.DialogCode.Accepted: return False files = dialog.selectedFiles() diff --git a/examples/demos/osmbuildings/request.py b/examples/demos/osmbuildings/request.py index f290af626..a845bc299 100644 --- a/examples/demos/osmbuildings/request.py +++ b/examples/demos/osmbuildings/request.py @@ -102,7 +102,7 @@ class OSMRequest(QObject): fileName = "data/" + tileKey(tile) + ".png" if QFileInfo.exists(fileName): file = QFile(fileName) - if file.open(QFile.ReadOnly): + if file.open(QFile.OpenModeFlag.ReadOnly): data = file.readAll() file.close() self.mapsDataReady.emit(data, tile.TileX, tile.TileY, tile.ZoomLevel) @@ -116,7 +116,7 @@ class OSMRequest(QObject): @Slot(OSMTileData) def _mapsDataReceived(self, reply, tile): reply.deleteLater() - if reply.error() == QNetworkReply.NoError: + if reply.error() == QNetworkReply.NetworkError.NoError: data = reply.readAll() self.mapsDataReady.emit(data, tile.TileX, tile.TileY, tile.ZoomLevel) else: diff --git a/examples/designer/taskmenuextension/tictactoe.py b/examples/designer/taskmenuextension/tictactoe.py index a1a3fc906..f334563a7 100644 --- a/examples/designer/taskmenuextension/tictactoe.py +++ b/examples/designer/taskmenuextension/tictactoe.py @@ -66,7 +66,7 @@ class TicTacToe(QWidget): with QPainter(self) as painter: painter.setRenderHint(QPainter.RenderHint.Antialiasing) - painter.setPen(QPen(Qt.darkGreen, 1)) + painter.setPen(QPen(Qt.GlobalColor.darkGreen, 1)) painter.drawLine(self._cell_width(), 0, self._cell_width(), self.height()) painter.drawLine(2 * self._cell_width(), 0, @@ -76,7 +76,7 @@ class TicTacToe(QWidget): painter.drawLine(0, 2 * self._cell_height(), self.width(), 2 * self._cell_height()) - painter.setPen(QPen(Qt.darkBlue, 2)) + painter.setPen(QPen(Qt.GlobalColor.darkBlue, 2)) for position in range(9): cell = self._cell_rect(position) @@ -86,7 +86,7 @@ class TicTacToe(QWidget): elif self._state[position] == NOUGHT: painter.drawEllipse(cell) - painter.setPen(QPen(Qt.yellow, 3)) + painter.setPen(QPen(Qt.GlobalColor.yellow, 3)) for position in range(0, 8, 3): if (self._state[position] != EMPTY diff --git a/examples/designer/taskmenuextension/tictactoetaskmenu.py b/examples/designer/taskmenuextension/tictactoetaskmenu.py index f2c6cceb0..a169a4f57 100644 --- a/examples/designer/taskmenuextension/tictactoetaskmenu.py +++ b/examples/designer/taskmenuextension/tictactoetaskmenu.py @@ -16,12 +16,12 @@ class TicTacToeDialog(QDialog): layout = QVBoxLayout(self) self._ticTacToe = TicTacToe(self) layout.addWidget(self._ticTacToe) - button_box = QDialogButtonBox(QDialogButtonBox.Ok - | QDialogButtonBox.Cancel - | QDialogButtonBox.Reset) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok + | QDialogButtonBox.StandardButton.Cancel + | QDialogButtonBox.StandardButton.Reset) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) - reset_button = button_box.button(QDialogButtonBox.Reset) + reset_button = button_box.button(QDialogButtonBox.StandardButton.Reset) reset_button.clicked.connect(self._ticTacToe.clear_board) layout.addWidget(button_box) @@ -49,7 +49,7 @@ class TicTacToeTaskMenu(QPyDesignerTaskMenuExtension): def _edit_state(self): dialog = TicTacToeDialog(self._ticTacToe) dialog.set_state(self._ticTacToe.state) - if dialog.exec() == QDialog.Accepted: + if dialog.exec() == QDialog.DialogCode.Accepted: self._ticTacToe.state = dialog.state() diff --git a/examples/external/opencv/webcam_pattern_detection.py b/examples/external/opencv/webcam_pattern_detection.py index 00172410f..dfc59397a 100644 --- a/examples/external/opencv/webcam_pattern_detection.py +++ b/examples/external/opencv/webcam_pattern_detection.py @@ -57,8 +57,8 @@ class Thread(QThread): # Creating and scaling QImage h, w, ch = color_frame.shape - img = QImage(color_frame.data, w, h, ch * w, QImage.Format_RGB888) - scaled_img = img.scaled(640, 480, Qt.KeepAspectRatio) + img = QImage(color_frame.data, w, h, ch * w, QImage.Format.Format_RGB888) + scaled_img = img.scaled(640, 480, Qt.AspectRatioMode.KeepAspectRatio) # Emit signal self.updateFrame.emit(scaled_img) @@ -79,7 +79,8 @@ class Window(QMainWindow): self.menu_file.addAction(exit) self.menu_about = self.menu.addMenu("&About") - about = QAction("About Qt", self, shortcut=QKeySequence(QKeySequence.HelpContents), + about = QAction("About Qt", self, + shortcut=QKeySequence(QKeySequence.StandardKey.HelpContents), triggered=qApp.aboutQt) # noqa: F821 self.menu_about.addAction(about) @@ -94,7 +95,7 @@ class Window(QMainWindow): # Model group self.group_model = QGroupBox("Trained model") - self.group_model.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + self.group_model.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) model_layout = QHBoxLayout() self.combobox = QComboBox() @@ -110,8 +111,8 @@ class Window(QMainWindow): buttons_layout = QHBoxLayout() self.button1 = QPushButton("Start") self.button2 = QPushButton("Stop/Close") - self.button1.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) - self.button2.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) + self.button1.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) + self.button2.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) buttons_layout.addWidget(self.button2) buttons_layout.addWidget(self.button1) diff --git a/examples/graphs/3d/bars/main.py b/examples/graphs/3d/bars/main.py index 0a75de48d..3bd3d2bb3 100644 --- a/examples/graphs/3d/bars/main.py +++ b/examples/graphs/3d/bars/main.py @@ -15,7 +15,7 @@ if __name__ == '__main__': view.engine().addImportPath(Path(__file__).parent) view.loadFromModule("Bars", "Main") view.setTitle("Monthly income / expenses") - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) view.setColor("black") view.show() diff --git a/examples/graphs/3d/widgetgraphgallery/bargraph.py b/examples/graphs/3d/widgetgraphgallery/bargraph.py index 4f117d911..3259e8a33 100644 --- a/examples/graphs/3d/widgetgraphgallery/bargraph.py +++ b/examples/graphs/3d/widgetgraphgallery/bargraph.py @@ -26,8 +26,8 @@ class BarGraph(QObject): hLayout = QHBoxLayout(self._barsWidget) barsGraphWidget.setMinimumSize(minimum_graph_size) barsGraphWidget.setMaximumSize(maximum_graph_size) - barsGraphWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) - barsGraphWidget.setFocusPolicy(Qt.StrongFocus) + barsGraphWidget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + barsGraphWidget.setFocusPolicy(Qt.FocusPolicy.StrongFocus) hLayout.addWidget(barsGraphWidget, 1) vLayout = QVBoxLayout() @@ -119,20 +119,20 @@ class BarGraph(QObject): rotationSliderX = QSlider(Qt.Orientation.Horizontal, self._barsWidget) rotationSliderX.setTickInterval(30) - rotationSliderX.setTickPosition(QSlider.TicksBelow) + rotationSliderX.setTickPosition(QSlider.TickPosition.TicksBelow) rotationSliderX.setMinimum(-180) rotationSliderX.setValue(0) rotationSliderX.setMaximum(180) rotationSliderY = QSlider(Qt.Orientation.Horizontal, self._barsWidget) rotationSliderY.setTickInterval(15) - rotationSliderY.setTickPosition(QSlider.TicksAbove) + rotationSliderY.setTickPosition(QSlider.TickPosition.TicksAbove) rotationSliderY.setMinimum(-90) rotationSliderY.setValue(0) rotationSliderY.setMaximum(90) fontSizeSlider = QSlider(Qt.Orientation.Horizontal, self._barsWidget) fontSizeSlider.setTickInterval(10) - fontSizeSlider.setTickPosition(QSlider.TicksBelow) + fontSizeSlider.setTickPosition(QSlider.TickPosition.TicksBelow) fontSizeSlider.setMinimum(1) fontSizeSlider.setValue(30) fontSizeSlider.setMaximum(100) @@ -172,7 +172,7 @@ class BarGraph(QObject): axisLabelRotationSlider = QSlider(Qt.Orientation.Horizontal, self._barsWidget) axisLabelRotationSlider.setTickInterval(10) - axisLabelRotationSlider.setTickPosition(QSlider.TicksBelow) + axisLabelRotationSlider.setTickPosition(QSlider.TickPosition.TicksBelow) axisLabelRotationSlider.setMinimum(0) axisLabelRotationSlider.setValue(30) axisLabelRotationSlider.setMaximum(90) @@ -185,12 +185,12 @@ class BarGraph(QObject): modeGroup.addButton(modeCustomProxy) vLayout.addWidget(QLabel("Rotate horizontally")) - vLayout.addWidget(rotationSliderX, 0, Qt.AlignTop) + vLayout.addWidget(rotationSliderX, 0, Qt.AlignmentFlag.AlignTop) vLayout.addWidget(QLabel("Rotate vertically")) - vLayout.addWidget(rotationSliderY, 0, Qt.AlignTop) - vLayout.addWidget(labelButton, 0, Qt.AlignTop) - vLayout.addWidget(cameraButton, 0, Qt.AlignTop) - vLayout.addWidget(zoomToSelectedButton, 0, Qt.AlignTop) + vLayout.addWidget(rotationSliderY, 0, Qt.AlignmentFlag.AlignTop) + vLayout.addWidget(labelButton, 0, Qt.AlignmentFlag.AlignTop) + vLayout.addWidget(cameraButton, 0, Qt.AlignmentFlag.AlignTop) + vLayout.addWidget(zoomToSelectedButton, 0, Qt.AlignmentFlag.AlignTop) vLayout.addWidget(backgroundCheckBox) vLayout.addWidget(gridCheckBox) vLayout.addWidget(smoothCheckBox) @@ -213,9 +213,9 @@ class BarGraph(QObject): vLayout.addWidget(QLabel("Adjust font size")) vLayout.addWidget(fontSizeSlider) vLayout.addWidget(QLabel("Axis label rotation")) - vLayout.addWidget(axisLabelRotationSlider, 0, Qt.AlignTop) - vLayout.addWidget(modeWeather, 0, Qt.AlignTop) - vLayout.addWidget(modeCustomProxy, 1, Qt.AlignTop) + vLayout.addWidget(axisLabelRotationSlider, 0, Qt.AlignmentFlag.AlignTop) + vLayout.addWidget(modeWeather, 0, Qt.AlignmentFlag.AlignTop) + vLayout.addWidget(modeCustomProxy, 1, Qt.AlignmentFlag.AlignTop) modifier = GraphModifier(barsGraph, self) modifier.changeTheme(themeList.currentIndex()) diff --git a/examples/graphs/3d/widgetgraphgallery/highlightseries.py b/examples/graphs/3d/widgetgraphgallery/highlightseries.py index e6e1af3df..27dad4705 100644 --- a/examples/graphs/3d/widgetgraphgallery/highlightseries.py +++ b/examples/graphs/3d/widgetgraphgallery/highlightseries.py @@ -26,7 +26,7 @@ class HighlightSeries(QSurface3DSeries): self._position = {} self._topographicSeries = None self._minHeight = 0.0 - self.setDrawMode(QSurface3DSeries.DrawSurface) + self.setDrawMode(QSurface3DSeries.DrawFlag.DrawSurface) self.setShading(QSurface3DSeries.Shading.Flat) self.setVisible(False) @@ -84,12 +84,12 @@ class HighlightSeries(QSurface3DSeries): ratio = self._minHeight / value gr = QLinearGradient() - gr.setColorAt(0.0, Qt.black) - gr.setColorAt(DARK_GREEN_POS * ratio, Qt.darkGreen) - gr.setColorAt(GREEN_POS * ratio, Qt.green) - gr.setColorAt(YELLOW_POS * ratio, Qt.yellow) - gr.setColorAt(RED_POS * ratio, Qt.red) - gr.setColorAt(DARK_RED_POS * ratio, Qt.darkRed) + gr.setColorAt(0.0, Qt.GlobalColor.black) + gr.setColorAt(DARK_GREEN_POS * ratio, Qt.GlobalColor.darkGreen) + gr.setColorAt(GREEN_POS * ratio, Qt.GlobalColor.green) + gr.setColorAt(YELLOW_POS * ratio, Qt.GlobalColor.yellow) + gr.setColorAt(RED_POS * ratio, Qt.GlobalColor.red) + gr.setColorAt(DARK_RED_POS * ratio, Qt.GlobalColor.darkRed) self.setBaseGradient(gr) self.setColorStyle(QGraphsTheme.ColorStyle.RangeGradient) diff --git a/examples/graphs/3d/widgetgraphgallery/rainfalldata.py b/examples/graphs/3d/widgetgraphgallery/rainfalldata.py index 283b421e7..a5339672e 100644 --- a/examples/graphs/3d/widgetgraphgallery/rainfalldata.py +++ b/examples/graphs/3d/widgetgraphgallery/rainfalldata.py @@ -96,7 +96,7 @@ class RainfallData(QObject): # Read data from a data file into the data item list file_path = Path(__file__).resolve().parent / "data" / "raindata.txt" dataFile = QFile(file_path) - if dataFile.open(QIODevice.ReadOnly | QIODevice.Text): + if dataFile.open(QIODevice.OpenModeFlag.ReadOnly | QIODevice.OpenModeFlag.Text): data = dataFile.readAll().data().decode("utf8") for line in data.split("\n"): if line and not line.startswith("#"): # Ignore comments diff --git a/examples/graphs/3d/widgetgraphgallery/scatterdatamodifier.py b/examples/graphs/3d/widgetgraphgallery/scatterdatamodifier.py index 1dd7db84b..946c96261 100644 --- a/examples/graphs/3d/widgetgraphgallery/scatterdatamodifier.py +++ b/examples/graphs/3d/widgetgraphgallery/scatterdatamodifier.py @@ -60,7 +60,7 @@ class ScatterDataModifier(QObject): self._graph.selectedElementChanged.connect(self.handleElementSelected) self._graph.dragged.connect(self.handleAxisDragging) - self._graph.setDragButton(Qt.LeftButton) + self._graph.setDragButton(Qt.MouseButton.LeftButton) self.addData() diff --git a/examples/graphs/3d/widgetgraphgallery/scattergraph.py b/examples/graphs/3d/widgetgraphgallery/scattergraph.py index 00b7fff69..1b5c507a9 100644 --- a/examples/graphs/3d/widgetgraphgallery/scattergraph.py +++ b/examples/graphs/3d/widgetgraphgallery/scattergraph.py @@ -25,8 +25,8 @@ class ScatterGraph(QObject): hLayout = QHBoxLayout(self._scatterWidget) scatterGraphWidget.setMinimumSize(minimum_graph_size) scatterGraphWidget.setMaximumSize(maximum_graph_size) - scatterGraphWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) - scatterGraphWidget.setFocusPolicy(Qt.StrongFocus) + scatterGraphWidget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + scatterGraphWidget.setFocusPolicy(Qt.FocusPolicy.StrongFocus) hLayout.addWidget(scatterGraphWidget, 1) vLayout = QVBoxLayout() @@ -98,7 +98,7 @@ class ScatterGraph(QObject): vLayout.addWidget(QLabel("Change theme")) vLayout.addWidget(themeList) vLayout.addWidget(QLabel("Adjust shadow quality")) - vLayout.addWidget(shadowQuality, 1, Qt.AlignTop) + vLayout.addWidget(shadowQuality, 1, Qt.AlignmentFlag.AlignTop) modifier = ScatterDataModifier(scatterGraph, self) diff --git a/examples/graphs/3d/widgetgraphgallery/surfacegraph.py b/examples/graphs/3d/widgetgraphgallery/surfacegraph.py index 8457251ed..8d565f9e0 100644 --- a/examples/graphs/3d/widgetgraphgallery/surfacegraph.py +++ b/examples/graphs/3d/widgetgraphgallery/surfacegraph.py @@ -15,28 +15,28 @@ from PySide6.QtGraphsWidgets import Q3DSurfaceWidgetItem def gradientBtoYPB_Pixmap(): grBtoY = QLinearGradient(0, 0, 1, 100) - grBtoY.setColorAt(1.0, Qt.black) - grBtoY.setColorAt(0.67, Qt.blue) - grBtoY.setColorAt(0.33, Qt.red) - grBtoY.setColorAt(0.0, Qt.yellow) + grBtoY.setColorAt(1.0, Qt.GlobalColor.black) + grBtoY.setColorAt(0.67, Qt.GlobalColor.blue) + grBtoY.setColorAt(0.33, Qt.GlobalColor.red) + grBtoY.setColorAt(0.0, Qt.GlobalColor.yellow) pm = QPixmap(24, 100) with QPainter(pm) as pmp: pmp.setBrush(QBrush(grBtoY)) - pmp.setPen(Qt.NoPen) + pmp.setPen(Qt.PenStyle.NoPen) pmp.drawRect(0, 0, 24, 100) return pm def gradientGtoRPB_Pixmap(): grGtoR = QLinearGradient(0, 0, 1, 100) - grGtoR.setColorAt(1.0, Qt.darkGreen) - grGtoR.setColorAt(0.5, Qt.yellow) - grGtoR.setColorAt(0.2, Qt.red) - grGtoR.setColorAt(0.0, Qt.darkRed) + grGtoR.setColorAt(1.0, Qt.GlobalColor.darkGreen) + grGtoR.setColorAt(0.5, Qt.GlobalColor.yellow) + grGtoR.setColorAt(0.2, Qt.GlobalColor.red) + grGtoR.setColorAt(0.0, Qt.GlobalColor.darkRed) pm = QPixmap(24, 100) with QPainter(pm) as pmp: pmp.setBrush(QBrush(grGtoR)) - pmp.setPen(Qt.NoPen) + pmp.setPen(Qt.PenStyle.NoPen) pmp.drawRect(0, 0, 24, 100) return pm @@ -46,19 +46,19 @@ def highlightPixmap(): WIDTH = 110 BORDER = 10 gr = QLinearGradient(0, 0, 1, HEIGHT - 2 * BORDER) - gr.setColorAt(1.0, Qt.black) - gr.setColorAt(0.8, Qt.darkGreen) - gr.setColorAt(0.6, Qt.green) - gr.setColorAt(0.4, Qt.yellow) - gr.setColorAt(0.2, Qt.red) - gr.setColorAt(0.0, Qt.darkRed) + gr.setColorAt(1.0, Qt.GlobalColor.black) + gr.setColorAt(0.8, Qt.GlobalColor.darkGreen) + gr.setColorAt(0.6, Qt.GlobalColor.green) + gr.setColorAt(0.4, Qt.GlobalColor.yellow) + gr.setColorAt(0.2, Qt.GlobalColor.red) + gr.setColorAt(0.0, Qt.GlobalColor.darkRed) pmHighlight = QPixmap(WIDTH, HEIGHT) - pmHighlight.fill(Qt.transparent) + pmHighlight.fill(Qt.GlobalColor.transparent) with QPainter(pmHighlight) as pmpHighlight: pmpHighlight.setBrush(QBrush(gr)) - pmpHighlight.setPen(Qt.NoPen) + pmpHighlight.setPen(Qt.PenStyle.NoPen) pmpHighlight.drawRect(BORDER, BORDER, 35, HEIGHT - 2 * BORDER) - pmpHighlight.setPen(Qt.black) + pmpHighlight.setPen(Qt.GlobalColor.black) step = (HEIGHT - 2 * BORDER) / 5 for i in range(0, 6): yPos = i * step + BORDER @@ -80,13 +80,13 @@ class SurfaceGraph(QObject): hLayout = QHBoxLayout(self._surfaceWidget) surfaceGraphWidget.setMinimumSize(minimum_graph_size) surfaceGraphWidget.setMaximumSize(maximum_graph_size) - surfaceGraphWidget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) - surfaceGraphWidget.setFocusPolicy(Qt.StrongFocus) - surfaceGraphWidget.setResizeMode(QQuickWidget.SizeRootObjectToView) + surfaceGraphWidget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + surfaceGraphWidget.setFocusPolicy(Qt.FocusPolicy.StrongFocus) + surfaceGraphWidget.setResizeMode(QQuickWidget.ResizeMode.SizeRootObjectToView) hLayout.addWidget(surfaceGraphWidget, 1) vLayout = QVBoxLayout() hLayout.addLayout(vLayout) - vLayout.setAlignment(Qt.AlignTop) + vLayout.setAlignment(Qt.AlignmentFlag.AlignTop) # Create control widgets modelGroupBox = QGroupBox("Model") sqrtSinModelRB = QRadioButton(self._surfaceWidget) diff --git a/examples/graphs/3d/widgetgraphgallery/surfacegraphmodifier.py b/examples/graphs/3d/widgetgraphgallery/surfacegraphmodifier.py index 74bab3491..d9b2126fb 100644 --- a/examples/graphs/3d/widgetgraphgallery/surfacegraphmodifier.py +++ b/examples/graphs/3d/widgetgraphgallery/surfacegraphmodifier.py @@ -140,23 +140,23 @@ class SurfaceGraphModifier(QObject): # Set the gradients for multi-surface layers grOne = QLinearGradient() - grOne.setColorAt(0.0, Qt.black) - grOne.setColorAt(0.38, Qt.darkYellow) - grOne.setColorAt(0.39, Qt.darkGreen) - grOne.setColorAt(0.5, Qt.darkGray) - grOne.setColorAt(1.0, Qt.gray) + grOne.setColorAt(0.0, Qt.GlobalColor.black) + grOne.setColorAt(0.38, Qt.GlobalColor.darkYellow) + grOne.setColorAt(0.39, Qt.GlobalColor.darkGreen) + grOne.setColorAt(0.5, Qt.GlobalColor.darkGray) + grOne.setColorAt(1.0, Qt.GlobalColor.gray) self._heightMapSeriesOne.setBaseGradient(grOne) self._heightMapSeriesOne.setColorStyle(QGraphsTheme.ColorStyle.RangeGradient) grTwo = QLinearGradient() - grTwo.setColorAt(0.39, Qt.blue) - grTwo.setColorAt(0.4, Qt.white) + grTwo.setColorAt(0.39, Qt.GlobalColor.blue) + grTwo.setColorAt(0.4, Qt.GlobalColor.white) self._heightMapSeriesTwo.setBaseGradient(grTwo) self._heightMapSeriesTwo.setColorStyle(QGraphsTheme.ColorStyle.RangeGradient) grThree = QLinearGradient() - grThree.setColorAt(0.0, Qt.white) - grThree.setColorAt(0.05, Qt.black) + grThree.setColorAt(0.0, Qt.GlobalColor.white) + grThree.setColorAt(0.05, Qt.GlobalColor.black) self._heightMapSeriesThree.setBaseGradient(grThree) self._heightMapSeriesThree.setColorStyle(QGraphsTheme.ColorStyle.RangeGradient) @@ -223,7 +223,7 @@ class SurfaceGraphModifier(QObject): @Slot(bool) def enableSqrtSinModel(self, enable): if enable: - self._sqrtSinSeries.setDrawMode(QSurface3DSeries.DrawSurfaceAndWireframe) + self._sqrtSinSeries.setDrawMode(QSurface3DSeries.DrawFlag.DrawSurfaceAndWireframe) self._sqrtSinSeries.setShading(QSurface3DSeries.Shading.Flat) self._graph.axisX().setLabelFormat("%.2f") @@ -275,11 +275,11 @@ class SurfaceGraphModifier(QObject): @Slot(bool) def enableHeightMapModel(self, enable): if enable: - self._heightMapSeriesOne.setDrawMode(QSurface3DSeries.DrawSurface) + self._heightMapSeriesOne.setDrawMode(QSurface3DSeries.DrawFlag.DrawSurface) self._heightMapSeriesOne.setShading(QSurface3DSeries.Shading.Flat) - self._heightMapSeriesTwo.setDrawMode(QSurface3DSeries.DrawSurface) + self._heightMapSeriesTwo.setDrawMode(QSurface3DSeries.DrawFlag.DrawSurface) self._heightMapSeriesTwo.setShading(QSurface3DSeries.Shading.Flat) - self._heightMapSeriesThree.setDrawMode(QSurface3DSeries.DrawSurface) + self._heightMapSeriesThree.setDrawMode(QSurface3DSeries.DrawFlag.DrawSurface) self._heightMapSeriesThree.setShading(QSurface3DSeries.Shading.Flat) self._graph.axisX().setLabelFormat("%.1f N") @@ -443,7 +443,7 @@ class SurfaceGraphModifier(QObject): def setBlackToYellowGradient(self): gr = QLinearGradient() - gr.setColorAt(0.0, Qt.black) + gr.setColorAt(0.0, Qt.GlobalColor.black) gr.setColorAt(0.33, Qt.blue) gr.setColorAt(0.67, Qt.red) gr.setColorAt(1.0, Qt.yellow) @@ -467,8 +467,8 @@ class SurfaceGraphModifier(QObject): positionOnePipe = QVector3D(39.0, 45.0, 19.2) positionOneLabel = QVector3D(39.0, 107.0, 19.2) if show: - color = QImage(2, 2, QImage.Format_RGB32) - color.fill(Qt.red) + color = QImage(2, 2, QImage.Format.Format_RGB32) + color.fill(Qt.GlobalColor.red) file_name = os.fspath(self._data_path / "oilrig.mesh") item = QCustom3DItem(file_name, positionOne, QVector3D(0.025, 0.025, 0.025), @@ -499,8 +499,8 @@ class SurfaceGraphModifier(QObject): positionTwoPipe = QVector3D(34.5, 45.0, 23.4) positionTwoLabel = QVector3D(34.5, 107.0, 23.4) if show: - color = QImage(2, 2, QImage.Format_RGB32) - color.fill(Qt.red) + color = QImage(2, 2, QImage.Format.Format_RGB32) + color.fill(Qt.GlobalColor.red) item = QCustom3DItem() file_name = os.fspath(self._data_path / "oilrig.mesh") item.setMeshFile(file_name) @@ -532,7 +532,7 @@ class SurfaceGraphModifier(QObject): positionThree = QVector3D(34.5, 86.0, 19.1) positionThreeLabel = QVector3D(34.5, 116.0, 19.1) if show: - color = QImage(2, 2, QImage.Format_RGB32) + color = QImage(2, 2, QImage.Format.Format_RGB32) color.fill(Qt.darkMagenta) item = QCustom3DItem() file_name = os.fspath(self._data_path / "refinery.mesh") @@ -569,13 +569,13 @@ class SurfaceGraphModifier(QObject): s2 = self._graph.seriesList()[2] if highlight: grThree = QLinearGradient() - grThree.setColorAt(0.0, Qt.black) + grThree.setColorAt(0.0, Qt.GlobalColor.black) grThree.setColorAt(0.05, Qt.red) s2.setBaseGradient(grThree) else: grThree = QLinearGradient() - grThree.setColorAt(0.0, Qt.white) - grThree.setColorAt(0.05, Qt.black) + grThree.setColorAt(0.0, Qt.GlobalColor.white) + grThree.setColorAt(0.05, Qt.GlobalColor.black) s2.setBaseGradient(grThree) @Slot(bool) diff --git a/examples/graphs/3d/widgetgraphgallery/topographicseries.py b/examples/graphs/3d/widgetgraphgallery/topographicseries.py index 69a58c6b5..41cc35a36 100644 --- a/examples/graphs/3d/widgetgraphgallery/topographicseries.py +++ b/examples/graphs/3d/widgetgraphgallery/topographicseries.py @@ -17,9 +17,9 @@ class TopographicSeries(QSurface3DSeries): super().__init__() self._sampleCountX = 0.0 self._sampleCountZ = 0.0 - self.setDrawMode(QSurface3DSeries.DrawSurface) + self.setDrawMode(QSurface3DSeries.DrawFlag.DrawSurface) self.setShading(QSurface3DSeries.Shading.Flat) - self.setBaseColor(Qt.white) + self.setBaseColor(Qt.GlobalColor.white) def sampleCountX(self): return self._sampleCountX diff --git a/examples/gui/rhiwindow/rhiwindow.py b/examples/gui/rhiwindow/rhiwindow.py index e33506568..d4522e512 100644 --- a/examples/gui/rhiwindow/rhiwindow.py +++ b/examples/gui/rhiwindow/rhiwindow.py @@ -38,7 +38,7 @@ UBUF_SIZE = 68 def getShader(name): f = QFile(name) - if f.open(QIODevice.ReadOnly): + if f.open(QIODevice.OpenModeFlag.ReadOnly): result = QShader.fromSerialized(f.readAll()) f.close() return result @@ -49,7 +49,7 @@ class RhiWindow(QWindow): def __init__(self, graphicsApi): super().__init__() - self.m_graphicsApi = QRhi.Null + self.m_graphicsApi = QRhi.Implementation.Null self.m_initialized = False self.m_notExposed = False self.m_newlyExposed = False @@ -64,15 +64,15 @@ class RhiWindow(QWindow): self.m_graphicsApi = graphicsApi - if graphicsApi == QRhi.OpenGLES2: + if graphicsApi == QRhi.Implementation.OpenGLES2: self.setSurfaceType(QSurface.SurfaceType.OpenGLSurface) - elif graphicsApi == QRhi.Vulkan: + elif graphicsApi == QRhi.Implementation.Vulkan: self.setSurfaceType(QSurface.SurfaceType.VulkanSurface) - elif graphicsApi == QRhi.D3D11 or graphicsApi == QRhi.D3D12: + elif graphicsApi == QRhi.Implementation.D3D11 or graphicsApi == QRhi.Implementation.D3D12: self.setSurfaceType(QSurface.SurfaceType.Direct3DSurface) - elif graphicsApi == QRhi.Metal: + elif graphicsApi == QRhi.Implementation.Metal: self.setSurfaceType(QSurface.SurfaceType.MetalSurface) - elif graphicsApi == QRhi.Null: + elif graphicsApi == QRhi.Implementation.Null: pass # RasterSurface def __del__(self): @@ -92,17 +92,17 @@ class RhiWindow(QWindow): self.m_fallbackSurface = None def graphicsApiName(self): - if self.m_graphicsApi == QRhi.Null: + if self.m_graphicsApi == QRhi.Implementation.Null: return "Null (no output)" - if self.m_graphicsApi == QRhi.OpenGLES2: + if self.m_graphicsApi == QRhi.Implementation.OpenGLES2: return "OpenGL" - if self.m_graphicsApi == QRhi.Vulkan: + if self.m_graphicsApi == QRhi.Implementation.Vulkan: return "Vulkan" - if self.m_graphicsApi == QRhi.D3D11: + if self.m_graphicsApi == QRhi.Implementation.D3D11: return "Direct3D 11" - if self.m_graphicsApi == QRhi.D3D12: + if self.m_graphicsApi == QRhi.Implementation.D3D12: return "Direct3D 12" - if self.m_graphicsApi == QRhi.Metal: + if self.m_graphicsApi == QRhi.Implementation.Metal: return "Metal" return "" @@ -141,51 +141,51 @@ class RhiWindow(QWindow): self.render() def event(self, e): - if e.type() == QEvent.UpdateRequest: + if e.type() == QEvent.Type.UpdateRequest: self.render() - elif e.type() == QEvent.PlatformSurface: + elif e.type() == QEvent.Type.PlatformSurface: # this is the proper time to tear down the swapchain (while # the native window and surface are still around) - if e.surfaceEventType() == QPlatformSurfaceEvent.SurfaceAboutToBeDestroyed: + if e.surfaceEventType() == QPlatformSurfaceEvent.SurfaceEventType.SurfaceAboutToBeDestroyed: # noqa: E501 self.releaseSwapChain() return super().event(e) def init(self): - if self.m_graphicsApi == QRhi.Null: + if self.m_graphicsApi == QRhi.Implementation.Null: params = QRhiNullInitParams() - self.m_rhi = QRhi.create(QRhi.Null, params) + self.m_rhi = QRhi.create(QRhi.Implementation.Null, params) - if self.m_graphicsApi == QRhi.OpenGLES2: + if self.m_graphicsApi == QRhi.Implementation.OpenGLES2: self.m_fallbackSurface = QRhiGles2InitParams.newFallbackSurface() params = QRhiGles2InitParams() params.fallbackSurface = self.m_fallbackSurface params.window = self - self.m_rhi = QRhi.create(QRhi.OpenGLES2, params) - elif self.m_graphicsApi == QRhi.D3D11: + self.m_rhi = QRhi.create(QRhi.Implementation.OpenGLES2, params) + elif self.m_graphicsApi == QRhi.Implementation.D3D11: params = QRhiD3D11InitParams() # Enable the debug layer, if available. This is optional # and should be avoided in production builds. params.enableDebugLayer = True - self.m_rhi = QRhi.create(QRhi.D3D11, params) - elif self.m_graphicsApi == QRhi.D3D12: + self.m_rhi = QRhi.create(QRhi.Implementation.D3D11, params) + elif self.m_graphicsApi == QRhi.Implementation.D3D12: params = QRhiD3D12InitParams() # Enable the debug layer, if available. This is optional # and should be avoided in production builds. params.enableDebugLayer = True - self.m_rhi = QRhi.create(QRhi.D3D12, params) - elif self.m_graphicsApi == QRhi.Metal: + self.m_rhi = QRhi.create(QRhi.Implementation.D3D12, params) + elif self.m_graphicsApi == QRhi.Implementation.Metal: params = QRhiMetalInitParams() - self.m_rhi.reset(QRhi.create(QRhi.Metal, params)) + self.m_rhi.reset(QRhi.create(QRhi.Implementation.Metal, params)) if not self.m_rhi: qFatal("Failed to create RHI backend") self.m_sc = self.m_rhi.newSwapChain() # no need to set the size here, due to UsedWithSwapChainOnly - self.m_ds = self.m_rhi.newRenderBuffer(QRhiRenderBuffer.DepthStencil, + self.m_ds = self.m_rhi.newRenderBuffer(QRhiRenderBuffer.Type.DepthStencil, QSize(), 1, - QRhiRenderBuffer.UsedWithSwapChainOnly) + QRhiRenderBuffer.Flag.UsedWithSwapChainOnly) self.m_sc.setWindow(self) self.m_sc.setDepthStencil(self.m_ds) self.m_rp = self.m_sc.newCompatibleRenderPassDescriptor() @@ -224,13 +224,13 @@ class RhiWindow(QWindow): self.m_newlyExposed = False result = self.m_rhi.beginFrame(self.m_sc) - if result == QRhi.FrameOpSwapChainOutOfDate: + if result == QRhi.FrameOpResult.FrameOpSwapChainOutOfDate: self.resizeSwapChain() if not self.m_hasSwapChain: return result = self.m_rhi.beginFrame(self.m_sc) - if result != QRhi.FrameOpSuccess: + if result != QRhi.FrameOpResult.FrameOpSuccess: qWarning(f"beginFrame failed with {result}, will retry") self.requestUpdate() return @@ -269,19 +269,19 @@ class HelloWindow(RhiWindow): return if not self.m_texture: - self.m_texture = self.m_rhi.newTexture(QRhiTexture.RGBA8, pixelSize) + self.m_texture = self.m_rhi.newTexture(QRhiTexture.Format.RGBA8, pixelSize) else: self.m_texture.setPixelSize(pixelSize) self.m_texture.create() - image = QImage(pixelSize, QImage.Format_RGBA8888_Premultiplied) + image = QImage(pixelSize, QImage.Format.Format_RGBA8888_Premultiplied) with QPainter(image) as painter: painter.fillRect(QRectF(QPointF(0, 0), pixelSize), QColor.fromRgbF(0.4, 0.7, 0.0, 1.0)) - painter.setPen(Qt.transparent) - painter.setBrush(QGradient(QGradient.DeepBlue)) + painter.setPen(Qt.GlobalColor.transparent) + painter.setBrush(QGradient(QGradient.Preset.DeepBlue)) painter.drawRoundedRect(QRectF(QPointF(20, 20), pixelSize - QSize(40, 40)), 16, 16) - painter.setPen(Qt.black) + painter.setPen(Qt.GlobalColor.black) font = QFont() font.setPixelSize(0.05 * min(pixelSize.width(), pixelSize.height())) painter.setFont(font) @@ -299,26 +299,29 @@ class HelloWindow(RhiWindow): self.m_initialUpdates = self.m_rhi.nextResourceUpdateBatch() vertex_size = 4 * VERTEX_DATA.size - self.m_vbuf = self.m_rhi.newBuffer(QRhiBuffer.Immutable, QRhiBuffer.VertexBuffer, + self.m_vbuf = self.m_rhi.newBuffer(QRhiBuffer.Type.Immutable, + QRhiBuffer.UsageFlag.VertexBuffer, vertex_size) self.m_vbuf.create() self.m_initialUpdates.uploadStaticBuffer(self.m_vbuf, VoidPtr(VERTEX_DATA.tobytes(), vertex_size)) - self.m_ubuf = self.m_rhi.newBuffer(QRhiBuffer.Dynamic, - QRhiBuffer.UniformBuffer, UBUF_SIZE) + self.m_ubuf = self.m_rhi.newBuffer(QRhiBuffer.Type.Dynamic, + QRhiBuffer.UsageFlag.UniformBuffer, UBUF_SIZE) self.m_ubuf.create() self.ensureFullscreenTexture(self.m_sc.surfacePixelSize(), self.m_initialUpdates) - self.m_sampler = self.m_rhi.newSampler(QRhiSampler.Linear, QRhiSampler.Linear, - QRhiSampler.None_, - QRhiSampler.ClampToEdge, QRhiSampler.ClampToEdge) + self.m_sampler = self.m_rhi.newSampler(QRhiSampler.Filter.Linear, + QRhiSampler.Filter.Linear, + QRhiSampler.Filter.None_, + QRhiSampler.AddressMode.ClampToEdge, + QRhiSampler.AddressMode.ClampToEdge) self.m_sampler.create() self.m_colorTriSrb = self.m_rhi.newShaderResourceBindings() - visibility = (QRhiShaderResourceBinding.VertexStage - | QRhiShaderResourceBinding.FragmentStage) + visibility = (QRhiShaderResourceBinding.StageFlag.VertexStage + | QRhiShaderResourceBinding.StageFlag.FragmentStage) bindings = [ QRhiShaderResourceBinding.uniformBuffer(0, visibility, self.m_ubuf) ] @@ -335,16 +338,17 @@ class HelloWindow(RhiWindow): premulAlphaBlend.enable = True self.m_colorPipeline.setTargetBlends([premulAlphaBlend]) stages = [ - QRhiShaderStage(QRhiShaderStage.Vertex, getShader(":/color.vert.qsb")), - QRhiShaderStage(QRhiShaderStage.Fragment, getShader(":/color.frag.qsb")) + QRhiShaderStage(QRhiShaderStage.Type.Vertex, getShader(":/color.vert.qsb")), + QRhiShaderStage(QRhiShaderStage.Type.Fragment, getShader(":/color.frag.qsb")) ] self.m_colorPipeline.setShaderStages(stages) inputLayout = QRhiVertexInputLayout() input_bindings = [QRhiVertexInputBinding(5 * 4)] # sizeof(float) inputLayout.setBindings(input_bindings) attributes = [ - QRhiVertexInputAttribute(0, 0, QRhiVertexInputAttribute.Float2, 0), - QRhiVertexInputAttribute(0, 1, QRhiVertexInputAttribute.Float3, 2 * 4)] # sizeof(float) + QRhiVertexInputAttribute(0, 0, QRhiVertexInputAttribute.Format.Float2, 0), + # sizeof(float) + QRhiVertexInputAttribute(0, 1, QRhiVertexInputAttribute.Format.Float3, 2 * 4)] inputLayout.setAttributes(attributes) self.m_colorPipeline.setVertexInputLayout(inputLayout) self.m_colorPipeline.setShaderResourceBindings(self.m_colorTriSrb) @@ -353,7 +357,7 @@ class HelloWindow(RhiWindow): self.m_fullscreenQuadSrb = self.m_rhi.newShaderResourceBindings() bindings = [ - QRhiShaderResourceBinding.sampledTexture(0, QRhiShaderResourceBinding.FragmentStage, + QRhiShaderResourceBinding.sampledTexture(0, QRhiShaderResourceBinding.StageFlag.FragmentStage, # noqa: E501 self.m_texture, self.m_sampler) ] self.m_fullscreenQuadSrb.setBindings(bindings) @@ -361,8 +365,8 @@ class HelloWindow(RhiWindow): self.m_fullscreenQuadPipeline = self.m_rhi.newGraphicsPipeline() stages = [ - QRhiShaderStage(QRhiShaderStage.Vertex, getShader(":/quad.vert.qsb")), - QRhiShaderStage(QRhiShaderStage.Fragment, getShader(":/quad.frag.qsb")) + QRhiShaderStage(QRhiShaderStage.Type.Vertex, getShader(":/quad.vert.qsb")), + QRhiShaderStage(QRhiShaderStage.Type.Fragment, getShader(":/quad.frag.qsb")) ] self.m_fullscreenQuadPipeline.setShaderStages(stages) layout = QRhiVertexInputLayout() @@ -403,7 +407,7 @@ class HelloWindow(RhiWindow): self.ensureFullscreenTexture(outputSizeInPixels, resourceUpdates) cv = QRhiDepthStencilClearValue(1.0, 0) - cb.beginPass(self.m_sc.currentFrameRenderTarget(), Qt.black, + cb.beginPass(self.m_sc.currentFrameRenderTarget(), Qt.GlobalColor.black, cv, resourceUpdates) cb.setGraphicsPipeline(self.m_fullscreenQuadPipeline) diff --git a/examples/installer_test/hello.py b/examples/installer_test/hello.py index e10276048..162327c4f 100644 --- a/examples/installer_test/hello.py +++ b/examples/installer_test/hello.py @@ -36,7 +36,7 @@ class MyWidget(QWidget): self.button = QPushButton("Click me!") self.text = QLabel(f"Hello World auto_quit={auto_quit}") - self.text.setAlignment(Qt.AlignCenter) + self.text.setAlignment(Qt.AlignmentFlag.AlignCenter) self.layout = QVBoxLayout() self.layout.addWidget(self.text) diff --git a/examples/multimedia/audiooutput/audiooutput.py b/examples/multimedia/audiooutput/audiooutput.py index 5da00bc83..b0ab567d8 100644 --- a/examples/multimedia/audiooutput/audiooutput.py +++ b/examples/multimedia/audiooutput/audiooutput.py @@ -29,7 +29,7 @@ class Generator(QIODevice): self.generate_data(format, durationUs, sampleRate) def start(self): - self.open(QIODevice.ReadOnly) + self.open(QIODevice.OpenModeFlag.ReadOnly) def stop(self): self.m_pos = 0 @@ -40,18 +40,18 @@ class Generator(QIODevice): sample_size = fmt.bytesPerSample() * 8 if sample_size == 8: - if fmt.sampleFormat() == QAudioFormat.UInt8: + if fmt.sampleFormat() == QAudioFormat.SampleFormat.UInt8: scaler = lambda x: ((1.0 + x) / 2 * 255) # noqa: E731 pack_format = 'B' - elif fmt.sampleFormat() == QAudioFormat.Int16: + elif fmt.sampleFormat() == QAudioFormat.SampleFormat.Int16: scaler = lambda x: x * 127 # noqa: E731 pack_format = 'b' elif sample_size == 16: - little_endian = QSysInfo.ByteOrder == QSysInfo.LittleEndian - if fmt.sampleFormat() == QAudioFormat.UInt8: + little_endian = QSysInfo.Endian.ByteOrder == QSysInfo.Endian.LittleEndian + if fmt.sampleFormat() == QAudioFormat.SampleFormat.UInt8: scaler = lambda x: (1.0 + x) / 2 * 65535 # noqa: E731 pack_format = '<H' if little_endian else '>H' - elif fmt.sampleFormat() == QAudioFormat.Int16: + elif fmt.sampleFormat() == QAudioFormat.SampleFormat.Int16: scaler = lambda x: x * 32767 # noqa: E731 pack_format = '<h' if little_endian else '>h' @@ -159,7 +159,7 @@ class AudioTest(QMainWindow): self.m_format = QAudioFormat() self.m_format.setSampleRate(self.DATA_SAMPLE_RATE_HZ) self.m_format.setChannelCount(1) - self.m_format.setSampleFormat(QAudioFormat.Int16) + self.m_format.setSampleFormat(QAudioFormat.SampleFormat.Int16) info = self.m_devices[0] if not info.isFormatSupported(self.m_format): @@ -211,7 +211,7 @@ class AudioTest(QMainWindow): @Slot() def pull_timer_expired(self): - if self.m_audioSink is not None and self.m_audioSink.state() != QAudio.StoppedState: + if self.m_audioSink is not None and self.m_audioSink.state() != QAudio.State.StoppedState: bytes_free = self.m_audioSink.bytesFree() data = self.m_generator.read(bytes_free) if data: @@ -236,26 +236,26 @@ class AudioTest(QMainWindow): @Slot() def toggle_suspend_resume(self): - if self.m_audioSink.state() == QAudio.SuspendedState: + if self.m_audioSink.state() == QAudio.State.SuspendedState: qWarning("status: Suspended, resume()") self.m_audioSink.resume() self.m_suspendResumeButton.setText(self.SUSPEND_LABEL) - elif self.m_audioSink.state() == QAudio.ActiveState: + elif self.m_audioSink.state() == QAudio.State.ActiveState: qWarning("status: Active, suspend()") self.m_audioSink.suspend() self.m_suspendResumeButton.setText(self.RESUME_LABEL) - elif self.m_audioSink.state() == QAudio.StoppedState: + elif self.m_audioSink.state() == QAudio.State.StoppedState: qWarning("status: Stopped, resume()") self.m_audioSink.resume() self.m_suspendResumeButton.setText(self.SUSPEND_LABEL) - elif self.m_audioSink.state() == QAudio.IdleState: + elif self.m_audioSink.state() == QAudio.State.IdleState: qWarning("status: IdleState") state_map = { - QAudio.ActiveState: "ActiveState", - QAudio.SuspendedState: "SuspendedState", - QAudio.StoppedState: "StoppedState", - QAudio.IdleState: "IdleState"} + QAudio.State.ActiveState: "ActiveState", + QAudio.State.SuspendedState: "SuspendedState", + QAudio.State.StoppedState: "StoppedState", + QAudio.State.IdleState: "IdleState"} @Slot("QAudio::State") def handle_state_changed(self, state): diff --git a/examples/multimedia/audiosource/audiosource.py b/examples/multimedia/audiosource/audiosource.py index f4e415882..1c0d98412 100644 --- a/examples/multimedia/audiosource/audiosource.py +++ b/examples/multimedia/audiosource/audiosource.py @@ -59,7 +59,7 @@ class RenderArea(QWidget): def __init__(self, parent: PySide6.QtWidgets.QWidget | None = None) -> None: super().__init__(parent=parent) self.m_level = 0 - self.setBackgroundRole(QPalette.Base) + self.setBackgroundRole(QPalette.ColorRole.Base) self.setAutoFillBackground(True) self.setMinimumHeight(30) self.setMinimumWidth(200) @@ -70,7 +70,7 @@ class RenderArea(QWidget): def paintEvent(self, event: PySide6.QtGui.QPaintEvent) -> None: with QPainter(self) as painter: - painter.setPen(Qt.black) + painter.setPen(Qt.GlobalColor.black) frame = painter.viewport() - QMargins(10, 10, 10, 10) painter.drawRect(frame) @@ -79,9 +79,8 @@ class RenderArea(QWidget): return pos: int = round((frame.width() - 1) * self.m_level) - painter.fillRect( - frame.left() + 1, frame.top() + 1, pos, frame.height() - 1, Qt.red - ) + painter.fillRect(frame.left() + 1, frame.top() + 1, pos, frame.height() - 1, + Qt.GlobalColor.red) class InputTest(QWidget): @@ -152,22 +151,22 @@ class InputTest(QWidget): self.layout = QVBoxLayout(self) error_label = QLabel(self.tr("Microphone permission is not granted!")) error_label.setWordWrap(True) - error_label.setAlignment(Qt.AlignCenter) + error_label.setAlignment(Qt.AlignmentFlag.AlignCenter) self.layout.addWidget(error_label) def initialize_audio(self, device_info: QAudioDevice): format = QAudioFormat() format.setSampleRate(8000) format.setChannelCount(1) - format.setSampleFormat(QAudioFormat.Int16) + format.setSampleFormat(QAudioFormat.SampleFormat.Int16) self.m_audio_info = AudioInfo(format) self.m_audio_input = QAudioSource(device_info, format) initial_volume = QAudio.convertVolume( self.m_audio_input.volume(), - QAudio.LinearVolumeScale, - QAudio.LogarithmicVolumeScale, + QAudio.VolumeScale.LinearVolumeScale, + QAudio.VolumeScale.LogarithmicVolumeScale, ) self.m_volume_slider.setValue(int(round(initial_volume * 100))) self.toggle_mode() @@ -196,10 +195,10 @@ class InputTest(QWidget): def toggle_suspend(self): # toggle suspend/resume state = self.m_audio_input.state() - if (state == QAudio.SuspendedState) or (state == QAudio.StoppedState): + if (state == QAudio.State.SuspendedState) or (state == QAudio.State.StoppedState): self.m_audio_input.resume() self.m_suspend_resume_button.setText("Suspend recording") - elif state == QAudio.ActiveState: + elif state == QAudio.State.ActiveState: self.m_audio_input.suspend() self.m_suspend_resume_button.setText("Resume recording") # else no-op @@ -212,10 +211,9 @@ class InputTest(QWidget): @Slot(int) def slider_changed(self, value): - linearVolume = QAudio.convertVolume( - value / float(100), QAudio.LogarithmicVolumeScale, QAudio.LinearVolumeScale - ) - + linearVolume = QAudio.convertVolume(value / float(100), + QAudio.VolumeScale.LogarithmicVolumeScale, + QAudio.VolumeScale.LinearVolumeScale) self.m_audio_input.setVolume(linearVolume) diff --git a/examples/multimedia/camera/camera.py b/examples/multimedia/camera/camera.py index b98158a1c..ecc8f7010 100644 --- a/examples/multimedia/camera/camera.py +++ b/examples/multimedia/camera/camera.py @@ -153,10 +153,10 @@ class Camera(QMainWindow): return key = event.key() - if key == Qt.Key_CameraFocus: + if key == Qt.Key.Key_CameraFocus: self.displayViewfinder() event.accept() - elif key == Qt.Key_Camera: + elif key == Qt.Key.Key_Camera: if self.m_doImageCapture: self.takeImage() else: @@ -176,8 +176,9 @@ class Camera(QMainWindow): @Slot(int, QImage) def processCapturedImage(self, requestId, img): - scaled_image = img.scaled(self._ui.viewfinder.size(), Qt.KeepAspectRatio, - Qt.SmoothTransformation) + scaled_image = img.scaled(self._ui.viewfinder.size(), + Qt.AspectRatioMode.KeepAspectRatio, + Qt.TransformationMode.SmoothTransformation) self._ui.lastImagePreviewLabel.setPixmap(QPixmap.fromImage(scaled_image)) @@ -261,17 +262,17 @@ class Camera(QMainWindow): @Slot(QMediaRecorder.RecorderState) def updateRecorderState(self, state): - if state == QMediaRecorder.StoppedState: + if state == QMediaRecorder.RecorderState.StoppedState: self._ui.recordButton.setEnabled(True) self._ui.pauseButton.setEnabled(True) self._ui.stopButton.setEnabled(False) self._ui.metaDataButton.setEnabled(True) - elif state == QMediaRecorder.PausedState: + elif state == QMediaRecorder.RecorderState.PausedState: self._ui.recordButton.setEnabled(True) self._ui.pauseButton.setEnabled(False) self._ui.stopButton.setEnabled(True) self._ui.metaDataButton.setEnabled(False) - elif state == QMediaRecorder.RecordingState: + elif state == QMediaRecorder.RecorderState.RecordingState: self._ui.recordButton.setEnabled(False) self._ui.pauseButton.setEnabled(True) self._ui.stopButton.setEnabled(True) @@ -344,8 +345,8 @@ class Camera(QMainWindow): def showMetaDataDialog(self): if not self.m_metaDataDialog: self.m_metaDataDialog = MetaDataDialog(self) - self.m_metaDataDialog.setAttribute(Qt.WA_DeleteOnClose, False) - if self.m_metaDataDialog.exec() == QDialog.Accepted: + self.m_metaDataDialog.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose, False) + if self.m_metaDataDialog.exec() == QDialog.DialogCode.Accepted: self.saveMetaData() @Slot() @@ -355,13 +356,13 @@ class Camera(QMainWindow): val = self.m_metaDataDialog.m_metaDataFields[i].text() if val: key = QMediaMetaData.Key(i) - if key == QMediaMetaData.CoverArtImage: + if key == QMediaMetaData.Key.CoverArtImage: cover_art = QImage(val) data.insert(key, cover_art) - elif key == QMediaMetaData.ThumbnailImage: + elif key == QMediaMetaData.Key.ThumbnailImage: thumbnail = QImage(val) data.insert(key, thumbnail) - elif key == QMediaMetaData.Date: + elif key == QMediaMetaData.Key.Date: date = QDateTime.fromString(val) data.insert(key, date) else: diff --git a/examples/multimedia/camera/metadatadialog.py b/examples/multimedia/camera/metadatadialog.py index 1ad2c0d89..16fbde107 100644 --- a/examples/multimedia/camera/metadatadialog.py +++ b/examples/multimedia/camera/metadatadialog.py @@ -13,11 +13,11 @@ IMAGE_FILTER = "Image Files (*.png *.jpg *.bmp)" def default_value(key): - if key == QMediaMetaData.Title: + if key == QMediaMetaData.Key.Title: return "Qt Camera Example" - if key == QMediaMetaData.Author: + if key == QMediaMetaData.Key.Author: return "The Qt Company" - if key == QMediaMetaData.Date: + if key == QMediaMetaData.Key.Date: return QDateTime.currentDateTime().toString() return "" @@ -35,14 +35,14 @@ class MetaDataDialog(QDialog): line_edit = QLineEdit(default_value(key)) line_edit.setClearButtonEnabled(True) self.m_metaDataFields.append(line_edit) - if key == QMediaMetaData.ThumbnailImage: + if key == QMediaMetaData.Key.ThumbnailImage: open_thumbnail = QPushButton("Open") open_thumbnail.clicked.connect(self.open_thumbnail_image) layout = QHBoxLayout() layout.addWidget(line_edit) layout.addWidget(open_thumbnail) meta_data_layout.addRow(label, layout) - elif key == QMediaMetaData.CoverArtImage: + elif key == QMediaMetaData.Key.CoverArtImage: open_cover_art = QPushButton("Open") open_cover_art.clicked.connect(self.open_cover_art_image) layout = QHBoxLayout() @@ -59,7 +59,8 @@ class MetaDataDialog(QDialog): dialog_layout = QVBoxLayout(self) dialog_layout.addWidget(scroll_area) - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok + | QDialogButtonBox.StandardButton.Cancel) dialog_layout.addWidget(button_box) self.setWindowTitle("Set Metadata") diff --git a/examples/network/downloader/downloader.py b/examples/network/downloader/downloader.py index 35e6d3057..97e0e3e23 100644 --- a/examples/network/downloader/downloader.py +++ b/examples/network/downloader/downloader.py @@ -36,8 +36,8 @@ class DownloaderWidget(QWidget): self.link_box.setPlaceholderText("Download Link ...") self._open_folder_action = self.dest_box.addAction( - qApp.style().standardIcon(QStyle.SP_DirOpenIcon), # noqa: F821 - QLineEdit.TrailingPosition + qApp.style().standardIcon(QStyle.StandardPixmap.SP_DirOpenIcon), # noqa: F821 + QLineEdit.ActionPosition.TrailingPosition ) self._open_folder_action.triggered.connect(self.on_open_folder) @@ -54,7 +54,7 @@ class DownloaderWidget(QWidget): # Â Default destination dir self.dest_box.setText( QDir.fromNativeSeparators( - QStandardPaths.writableLocation(QStandardPaths.DownloadLocation) + QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation) ) ) @@ -105,7 +105,7 @@ class DownloaderWidget(QWidget): # Create the file in write mode to append bytes self.file = QSaveFile(dest_file) - if self.file.open(QIODevice.WriteOnly): + if self.file.open(QIODevice.OpenModeFlag.WriteOnly): # Start a GET HTTP request self.reply = self.manager.get(QNetworkRequest(url_file)) @@ -133,7 +133,7 @@ class DownloaderWidget(QWidget): def on_ready_read(self): """ Get available bytes and store them into the file""" if self.reply: - if self.reply.error() == QNetworkReply.NoError: + if self.reply.error() == QNetworkReply.NetworkError.NoError: self.file.write(self.reply.readAll()) @Slot() @@ -163,7 +163,7 @@ class DownloaderWidget(QWidget): def on_open_folder(self): dir_path = QFileDialog.getExistingDirectory( - self, "Open Directory", QDir.homePath(), QFileDialog.ShowDirsOnly + self, "Open Directory", QDir.homePath(), QFileDialog.Option.ShowDirsOnly ) if dir_path: diff --git a/examples/network/fortuneclient/fortuneclient.py b/examples/network/fortuneclient/fortuneclient.py index 360702e03..54ce71f4e 100644 --- a/examples/network/fortuneclient/fortuneclient.py +++ b/examples/network/fortuneclient/fortuneclient.py @@ -41,8 +41,8 @@ class Client(QDialog): quit_button = QPushButton("Quit") button_box = QDialogButtonBox() - button_box.addButton(self._get_fortune_button, QDialogButtonBox.ActionRole) - button_box.addButton(quit_button, QDialogButtonBox.RejectRole) + button_box.addButton(self._get_fortune_button, QDialogButtonBox.ButtonRole.ActionRole) + button_box.addButton(quit_button, QDialogButtonBox.ButtonRole.RejectRole) self._tcp_socket = QTcpSocket(self) @@ -73,7 +73,7 @@ class Client(QDialog): def read_fortune(self): instr = QDataStream(self._tcp_socket) - instr.setVersion(QDataStream.Qt_4_0) + instr.setVersion(QDataStream.Version.Qt_4_0) if self._block_size == 0: if self._tcp_socket.bytesAvailable() < 2: @@ -95,13 +95,13 @@ class Client(QDialog): self._get_fortune_button.setEnabled(True) def display_error(self, socketError): - if socketError == QAbstractSocket.RemoteHostClosedError: + if socketError == QAbstractSocket.SocketError.RemoteHostClosedError: pass - elif socketError == QAbstractSocket.HostNotFoundError: + elif socketError == QAbstractSocket.SocketError.HostNotFoundError: QMessageBox.information(self, "Fortune Client", "The host was not found. Please check the host name and " "port settings.") - elif socketError == QAbstractSocket.ConnectionRefusedError: + elif socketError == QAbstractSocket.SocketError.ConnectionRefusedError: QMessageBox.information(self, "Fortune Client", "The connection was refused by the peer. Make sure the " "fortune server is running, and check that the host name " diff --git a/examples/network/fortuneserver/fortuneserver.py b/examples/network/fortuneserver/fortuneserver.py index 6b20b9b33..232485eef 100644 --- a/examples/network/fortuneserver/fortuneserver.py +++ b/examples/network/fortuneserver/fortuneserver.py @@ -20,7 +20,7 @@ class Server(QDialog): super().__init__(parent) status_label = QLabel() - status_label.setTextInteractionFlags(Qt.TextBrowserInteraction) + status_label.setTextInteractionFlags(Qt.TextInteractionFlag.TextBrowserInteraction) quit_button = QPushButton("Quit") quit_button.setAutoDefault(False) @@ -60,8 +60,8 @@ class Server(QDialog): def send_fortune(self): block = QByteArray() - out = QDataStream(block, QIODevice.WriteOnly) - out.setVersion(QDataStream.Qt_4_0) + out = QDataStream(block, QIODevice.OpenModeFlag.WriteOnly) + out.setVersion(QDataStream.Version.Qt_4_0) out.writeUInt16(0) fortune = self.fortunes[random.randint(0, len(self.fortunes) - 1)] diff --git a/examples/network/googlesuggest/googlesuggest.py b/examples/network/googlesuggest/googlesuggest.py index c03244687..bb19647e6 100644 --- a/examples/network/googlesuggest/googlesuggest.py +++ b/examples/network/googlesuggest/googlesuggest.py @@ -7,7 +7,7 @@ from PySide6.QtCore import (QByteArray, QEvent, QObject, QPoint, Qt, QTimer, from PySide6.QtGui import QPalette from PySide6.QtNetwork import (QNetworkAccessManager, QNetworkReply, QNetworkRequest) -from PySide6.QtWidgets import QFrame, QTreeWidget, QTreeWidgetItem +from PySide6.QtWidgets import QAbstractItemView, QFrame, QTreeWidget, QTreeWidgetItem class GSuggestCompletion(QObject): @@ -15,18 +15,18 @@ class GSuggestCompletion(QObject): super().__init__(parent) self.editor = parent self.popup = QTreeWidget() - self.popup.setWindowFlags(Qt.Popup) - self.popup.setFocusPolicy(Qt.NoFocus) + self.popup.setWindowFlags(Qt.WindowType.Popup) + self.popup.setFocusPolicy(Qt.FocusPolicy.NoFocus) self.popup.setFocusProxy(parent) self.popup.setMouseTracking(True) self.popup.setColumnCount(1) self.popup.setUniformRowHeights(True) self.popup.setRootIsDecorated(False) - self.popup.setEditTriggers(QTreeWidget.NoEditTriggers) - self.popup.setSelectionBehavior(QTreeWidget.SelectRows) - self.popup.setFrameStyle(QFrame.Box | QFrame.Plain) - self.popup.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + self.popup.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.popup.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) + self.popup.setFrameStyle(QFrame.Shape.Box | QFrame.Shadow.Plain) + self.popup.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) self.popup.header().hide() self.popup.installEventFilter(self) diff --git a/examples/network/threadedfortuneserver/threadedfortuneserver.py b/examples/network/threadedfortuneserver/threadedfortuneserver.py index 492c81085..01ae0621f 100644 --- a/examples/network/threadedfortuneserver/threadedfortuneserver.py +++ b/examples/network/threadedfortuneserver/threadedfortuneserver.py @@ -31,8 +31,8 @@ class FortuneThread(QThread): return block = QByteArray() - outstr = QDataStream(block, QIODevice.WriteOnly) - outstr.setVersion(QDataStream.Qt_4_0) + outstr = QDataStream(block, QIODevice.OpenModeFlag.WriteOnly) + outstr.setVersion(QDataStream.Version.Qt_4_0) outstr.writeUInt16(0) outstr.writeQString(self.text) outstr.device().seek(0) @@ -68,7 +68,7 @@ class Dialog(QDialog): self.server = FortuneServer() status_label = QLabel() - status_label.setTextInteractionFlags(Qt.TextBrowserInteraction) + status_label.setTextInteractionFlags(Qt.TextInteractionFlag.TextBrowserInteraction) status_label.setWordWrap(True) quit_button = QPushButton("Quit") quit_button.setAutoDefault(False) @@ -81,10 +81,11 @@ class Dialog(QDialog): return for ip_address in QNetworkInterface.allAddresses(): - if ip_address != QHostAddress.LocalHost and ip_address.toIPv4Address() != 0: + if (ip_address != QHostAddress.SpecialAddress.LocalHost + and ip_address.toIPv4Address() != 0): break else: - ip_address = QHostAddress(QHostAddress.LocalHost) + ip_address = QHostAddress(QHostAddress.SpecialAddress.LocalHost) ip_address = ip_address.toString() port = self.server.serverPort() diff --git a/examples/opengl/hellogl2/glwidget.py b/examples/opengl/hellogl2/glwidget.py index d86ba59e8..9660f8736 100644 --- a/examples/opengl/hellogl2/glwidget.py +++ b/examples/opengl/hellogl2/glwidget.py @@ -82,7 +82,7 @@ class GLWidget(QOpenGLWidget, QOpenGLFunctions): QOpenGLWidget.__init__(self, parent) QOpenGLFunctions.__init__(self) - self._core = QSurfaceFormat.defaultFormat().profile() == QSurfaceFormat.CoreProfile + self._core = QSurfaceFormat.defaultFormat().profile() == QSurfaceFormat.OpenGLContextProfile.CoreProfile # noqa: E501 self._x_rot = 0 self._y_rot = 0 @@ -180,9 +180,9 @@ class GLWidget(QOpenGLWidget, QOpenGLFunctions): self._vertex_shader = VERTEX_SHADER_SOURCE self._fragment_shader = FRAGMENT_SHADER_SOURCE - self.program.addShaderFromSourceCode(QOpenGLShader.Vertex, + self.program.addShaderFromSourceCode(QOpenGLShader.ShaderTypeBit.Vertex, self._vertex_shader) - self.program.addShaderFromSourceCode(QOpenGLShader.Fragment, + self.program.addShaderFromSourceCode(QOpenGLShader.ShaderTypeBit.Fragment, self._fragment_shader) self.program.bindAttributeLocation("vertex", 0) self.program.bindAttributeLocation("normal", 1) @@ -263,7 +263,7 @@ class GLWidget(QOpenGLWidget, QOpenGLFunctions): dx = pos.x() - self._last_pos.x() dy = pos.y() - self._last_pos.y() - if event.buttons() & Qt.LeftButton: + if event.buttons() & Qt.MouseButton.LeftButton: self.set_xrotation(self._x_rot + 8 * dy) self.set_yrotation(self._y_rot + 8 * dx) elif event.buttons() & Qt.RightButton: diff --git a/examples/opengl/hellogl2/mainwindow.py b/examples/opengl/hellogl2/mainwindow.py index d5fba7e26..ce00b66f5 100644 --- a/examples/opengl/hellogl2/mainwindow.py +++ b/examples/opengl/hellogl2/mainwindow.py @@ -14,9 +14,9 @@ class MainWindow(QMainWindow): def __init__(self): super().__init__() menuWindow = self.menuBar().addMenu("Window") - menuWindow.addAction("Add new", QKeySequence(Qt.CTRL | Qt.Key_N), + menuWindow.addAction("Add new", QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_N), self.onAddNew) - menuWindow.addAction("Quit", QKeySequence(Qt.CTRL | Qt.Key_Q), + menuWindow.addAction("Quit", QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Q), qApp.closeAllWindows) # noqa: F821 self.onAddNew() diff --git a/examples/opengl/hellogl2/window.py b/examples/opengl/hellogl2/window.py index 12c4508b3..5d2c22ff3 100644 --- a/examples/opengl/hellogl2/window.py +++ b/examples/opengl/hellogl2/window.py @@ -59,13 +59,13 @@ class Window(QWidget): self.setWindowTitle(self.tr("Hello GL")) def create_slider(self): - slider = QSlider(Qt.Vertical) + slider = QSlider(Qt.Orientation.Vertical) slider.setRange(0, 360 * 16) slider.setSingleStep(16) slider.setPageStep(15 * 16) slider.setTickInterval(15 * 16) - slider.setTickPosition(QSlider.TicksRight) + slider.setTickPosition(QSlider.TickPosition.TicksRight) return slider def closeEvent(self, event): @@ -73,7 +73,7 @@ class Window(QWidget): event.accept() def keyPressEvent(self, event): - if self.isWindow() and event.key() == Qt.Key_Escape: + if self.isWindow() and event.key() == Qt.Key.Key_Escape: self.close() else: super().keyPressEvent(event) @@ -96,13 +96,13 @@ class Window(QWidget): "Main window already occupied") return - self.setAttribute(Qt.WA_DeleteOnClose, False) + self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose, False) self._dock_btn.setText("Undock") mainWindow.setCentralWidget(self) def undock(self): self.setParent(None) - self.setAttribute(Qt.WA_DeleteOnClose) + self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose) geometry = self.screen().availableGeometry() x = geometry.x() + (geometry.width() - self.width()) / 2 y = geometry.y() + (geometry.height() - self.height()) / 2 diff --git a/examples/opengl/textures/textures.py b/examples/opengl/textures/textures.py index 55517d33e..5df84ad4f 100644 --- a/examples/opengl/textures/textures.py +++ b/examples/opengl/textures/textures.py @@ -46,7 +46,7 @@ class GLWidget(QOpenGLWidget): def __init__(self, parent): super().__init__(parent) - self.clearColor = Qt.black + self.clearColor = Qt.GlobalColor.black self.xRot = 0 self.yRot = 0 self.zRot = 0 @@ -79,7 +79,7 @@ class GLWidget(QOpenGLWidget): def initializeGL(self): profile = QOpenGLVersionProfile() profile.setVersion(3, 2) - profile.setProfile(QSurfaceFormat.CompatibilityProfile) + profile.setProfile(QSurfaceFormat.OpenGLContextProfile.CompatibilityProfile) self.funcs = QOpenGLVersionFunctionsFactory.get(profile) self.funcs.initializeOpenGLFunctions() @@ -125,7 +125,7 @@ class GLWidget(QOpenGLWidget): dx = pos.x() - self.lastPos.x() dy = pos.y() - self.lastPos.y() - if event.buttons() & Qt.LeftButton: + if event.buttons() & Qt.MouseButton.LeftButton: self.rotateBy(8 * dy, 8 * dx, 0) elif event.buttons() & Qt.RightButton: self.rotateBy(8 * dy, 0, 8 * dx) diff --git a/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py b/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py index d9b974b53..322bef954 100644 --- a/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py +++ b/examples/qml/tutorials/extending-qml/chapter1-basics/basics.py @@ -56,7 +56,7 @@ if __name__ == '__main__': app = QGuiApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') view.setSource(QUrl.fromLocalFile(qml_file)) if view.status() == QQuickView.Status.Error: diff --git a/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py b/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py index 48ea30de3..238225fd3 100644 --- a/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py +++ b/examples/qml/tutorials/extending-qml/chapter2-methods/methods.py @@ -63,7 +63,7 @@ if __name__ == '__main__': app = QGuiApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') view.setSource(QUrl.fromLocalFile(qml_file)) if view.status() == QQuickView.Status.Error: diff --git a/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py b/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py index 082de19cc..ed332cba7 100644 --- a/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py +++ b/examples/qml/tutorials/extending-qml/chapter3-bindings/bindings.py @@ -67,7 +67,7 @@ if __name__ == '__main__': app = QGuiApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') view.setSource(QUrl.fromLocalFile(qml_file)) if view.status() == QQuickView.Status.Error: diff --git a/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py index 3530ed12e..bf24ec3c3 100644 --- a/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py +++ b/examples/qml/tutorials/extending-qml/chapter4-customPropertyTypes/customPropertyTypes.py @@ -71,7 +71,7 @@ if __name__ == '__main__': app = QGuiApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') view.setSource(QUrl.fromLocalFile(qml_file)) if view.status() == QQuickView.Status.Error: diff --git a/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py b/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py index 31510fd9e..67d7482ec 100644 --- a/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py +++ b/examples/qml/tutorials/extending-qml/chapter5-listproperties/listproperties.py @@ -85,7 +85,7 @@ if __name__ == '__main__': app = QGuiApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = os.fspath(Path(__file__).resolve().parent / 'app.qml') view.setSource(QUrl.fromLocalFile(qml_file)) if view.status() == QQuickView.Status.Error: diff --git a/examples/qml/usingmodel/usingmodel.py b/examples/qml/usingmodel/usingmodel.py index 80413316d..e73eafef0 100644 --- a/examples/qml/usingmodel/usingmodel.py +++ b/examples/qml/usingmodel/usingmodel.py @@ -46,7 +46,7 @@ class PersonModel (QAbstractListModel): if role == Qt.ItemDataRole.DisplayRole: return d.name if role == Qt.ItemDataRole.DecorationRole: - return Qt.black + return Qt.GlobalColor.black if role == PersonModel.MyRole: return d.myrole return None @@ -60,7 +60,7 @@ class PersonModel (QAbstractListModel): if __name__ == '__main__': app = QGuiApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml') view.setSource(QUrl.fromLocalFile(qml_file)) diff --git a/examples/quick/models/objectlistmodel/objectlistmodel.py b/examples/quick/models/objectlistmodel/objectlistmodel.py index 65eac2354..0f0da3e36 100644 --- a/examples/quick/models/objectlistmodel/objectlistmodel.py +++ b/examples/quick/models/objectlistmodel/objectlistmodel.py @@ -50,7 +50,7 @@ if __name__ == '__main__': DataObject("Item 4", "yellow")] view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) view.setInitialProperties({"model": dataList}) qml_file = Path(__file__).parent / "view.qml" diff --git a/examples/quick/painteditem/painteditem.py b/examples/quick/painteditem/painteditem.py index 7bc617e9e..95390b6ee 100644 --- a/examples/quick/painteditem/painteditem.py +++ b/examples/quick/painteditem/painteditem.py @@ -40,7 +40,7 @@ class TextBalloon(QQuickPaintedItem): brush = QBrush(QColor("#007430")) painter.setBrush(brush) - painter.setPen(Qt.NoPen) + painter.setPen(Qt.PenStyle.NoPen) painter.setRenderHint(QPainter.RenderHint.Antialiasing) itemSize = self.size() @@ -73,7 +73,7 @@ if __name__ == "__main__": QQmlDebuggingEnabler.enableDebugging(True) app = QApplication(sys.argv) view = QQuickView() - view.setResizeMode(QQuickView.SizeRootObjectToView) + view.setResizeMode(QQuickView.ResizeMode.SizeRootObjectToView) qml_file = Path(__file__).parent / "main.qml" view.setSource(QUrl.fromLocalFile(qml_file)) diff --git a/examples/quick/scenegraph/openglunderqml/squircle.py b/examples/quick/scenegraph/openglunderqml/squircle.py index 2cfb9f41c..a1a154967 100644 --- a/examples/quick/scenegraph/openglunderqml/squircle.py +++ b/examples/quick/scenegraph/openglunderqml/squircle.py @@ -48,9 +48,9 @@ class Squircle(QQuickItem): @Slot(QQuickWindow) def handleWindowChanged(self, win): if win: - win.beforeSynchronizing.connect(self.sync, type=Qt.DirectConnection) - win.sceneGraphInvalidated.connect(self.cleanup, type=Qt.DirectConnection) - win.setColor(Qt.black) + win.beforeSynchronizing.connect(self.sync, type=Qt.ConnectionType.DirectConnection) + win.sceneGraphInvalidated.connect(self.cleanup, type=Qt.ConnectionType.DirectConnection) + win.setColor(Qt.GlobalColor.black) self.sync() @Slot() @@ -63,9 +63,9 @@ class Squircle(QQuickItem): window = self.window() if not self._renderer: self._renderer = SquircleRenderer() - window.beforeRendering.connect(self._renderer.init, Qt.DirectConnection) + window.beforeRendering.connect(self._renderer.init, Qt.ConnectionType.DirectConnection) window.beforeRenderPassRecording.connect( - self._renderer.paint, Qt.DirectConnection + self._renderer.paint, Qt.ConnectionType.DirectConnection ) self._renderer.setViewportSize(window.size() * window.devicePixelRatio()) self._renderer.setT(self._t) @@ -73,7 +73,7 @@ class Squircle(QQuickItem): def releaseResources(self): self.window().scheduleRenderJob( - CleanupJob(self._renderer), QQuickWindow.BeforeSynchronizingStage + CleanupJob(self._renderer), QQuickWindow.RenderStage.BeforeSynchronizingStage ) self._renderer = None diff --git a/examples/quick/scenegraph/openglunderqml/squirclerenderer.py b/examples/quick/scenegraph/openglunderqml/squirclerenderer.py index f70702e2f..d99219977 100644 --- a/examples/quick/scenegraph/openglunderqml/squirclerenderer.py +++ b/examples/quick/scenegraph/openglunderqml/squirclerenderer.py @@ -57,11 +57,13 @@ class SquircleRenderer(QOpenGLFunctions): def init(self): if not self._program: rif = self._window.rendererInterface() - assert (rif.graphicsApi() == QSGRendererInterface.OpenGL) + assert (rif.graphicsApi() == QSGRendererInterface.GraphicsApi.OpenGL) self.initializeOpenGLFunctions() self._program = QOpenGLShaderProgram() - self._program.addCacheableShaderFromSourceCode(QOpenGLShader.Vertex, VERTEX_SHADER) - self._program.addCacheableShaderFromSourceCode(QOpenGLShader.Fragment, FRAGMENT_SHADER) + self._program.addCacheableShaderFromSourceCode(QOpenGLShader.ShaderTypeBit.Vertex, + VERTEX_SHADER) + self._program.addCacheableShaderFromSourceCode(QOpenGLShader.ShaderTypeBit.Fragment, + FRAGMENT_SHADER) self._program.bindAttributeLocation("vertices", 0) self._program.link() diff --git a/examples/serialport/terminal/console.py b/examples/serialport/terminal/console.py index 036e46a7f..682711f4e 100644 --- a/examples/serialport/terminal/console.py +++ b/examples/serialport/terminal/console.py @@ -20,8 +20,8 @@ class Console(QPlainTextEdit): self.m_localEchoEnabled = False self.document().setMaximumBlockCount(100) p = self.palette() - p.setColor(QPalette.Base, Qt.black) - p.setColor(QPalette.Text, Qt.green) + p.setColor(QPalette.ColorRole.Base, Qt.GlobalColor.black) + p.setColor(QPalette.ColorRole.Text, Qt.GlobalColor.green) self.setPalette(p) @Slot(bytearray) diff --git a/examples/serialport/terminal/mainwindow.py b/examples/serialport/terminal/mainwindow.py index c6cf95d29..557821a76 100644 --- a/examples/serialport/terminal/mainwindow.py +++ b/examples/serialport/terminal/mainwindow.py @@ -63,7 +63,7 @@ class MainWindow(QMainWindow): self.m_serial.setParity(s.parity) self.m_serial.setStopBits(s.stop_bits) self.m_serial.setFlowControl(s.flow_control) - if self.m_serial.open(QIODeviceBase.ReadWrite): + if self.m_serial.open(QIODeviceBase.OpenModeFlag.ReadWrite): self.m_console.setEnabled(True) self.m_console.set_local_echo_enabled(s.local_echo_enabled) self.m_ui.actionConnect.setEnabled(False) @@ -99,7 +99,7 @@ class MainWindow(QMainWindow): @Slot(QSerialPort.SerialPortError) def handle_error(self, error): - if error == QSerialPort.ResourceError: + if error == QSerialPort.SerialPortError.ResourceError: QMessageBox.critical(self, "Critical Error", self.m_serial.errorString()) self.close_serial_port() diff --git a/examples/serialport/terminal/settingsdialog.py b/examples/serialport/terminal/settingsdialog.py index cc8bbb2aa..e950c81ca 100644 --- a/examples/serialport/terminal/settingsdialog.py +++ b/examples/serialport/terminal/settingsdialog.py @@ -26,13 +26,13 @@ class Settings(): self.name = "" self.baud_rate = 0 self.string_baud_rate = "" - self.data_bits = QSerialPort.Data8 + self.data_bits = QSerialPort.DataBits.Data8 self.string_data_bits = "" - self.parity = QSerialPort.NoParity + self.parity = QSerialPort.Parity.NoParity self.string_parity = "" - self.stop_bits = QSerialPort.OneStop + self.stop_bits = QSerialPort.StopBits.OneStop self.string_stop_bits = "" - self.flow_control = QSerialPort.SoftwareControl + self.flow_control = QSerialPort.FlowControl.SoftwareControl self.string_flow_control = "" self.local_echo_enabled = False @@ -48,7 +48,7 @@ class SettingsDialog(QDialog): self.m_currentSettings = Settings() self.m_intValidator = QIntValidator(0, 4000000, self) - self.m_ui.baudRateBox.setInsertPolicy(QComboBox.NoInsert) + self.m_ui.baudRateBox.setInsertPolicy(QComboBox.InsertPolicy.NoInsert) self.m_ui.applyButton.clicked.connect(self.apply) self.m_ui.serialPortInfoListBox.currentIndexChanged.connect(self.show_port_info) @@ -106,33 +106,33 @@ class SettingsDialog(QDialog): self.m_ui.serialPortInfoListBox.clearEditText() def fill_ports_parameters(self): - self.m_ui.baudRateBox.addItem("9600", QSerialPort.Baud9600) - self.m_ui.baudRateBox.addItem("19200", QSerialPort.Baud19200) - self.m_ui.baudRateBox.addItem("38400", QSerialPort.Baud38400) - self.m_ui.baudRateBox.addItem("115200", QSerialPort.Baud115200) + self.m_ui.baudRateBox.addItem("9600", QSerialPort.BaudRate.Baud9600) + self.m_ui.baudRateBox.addItem("19200", QSerialPort.BaudRate.Baud19200) + self.m_ui.baudRateBox.addItem("38400", QSerialPort.BaudRate.Baud38400) + self.m_ui.baudRateBox.addItem("115200", QSerialPort.BaudRate.Baud115200) self.m_ui.baudRateBox.addItem("Custom") - self.m_ui.dataBitsBox.addItem("5", QSerialPort.Data5) - self.m_ui.dataBitsBox.addItem("6", QSerialPort.Data6) - self.m_ui.dataBitsBox.addItem("7", QSerialPort.Data7) - self.m_ui.dataBitsBox.addItem("8", QSerialPort.Data8) + self.m_ui.dataBitsBox.addItem("5", QSerialPort.DataBits.Data5) + self.m_ui.dataBitsBox.addItem("6", QSerialPort.DataBits.Data6) + self.m_ui.dataBitsBox.addItem("7", QSerialPort.DataBits.Data7) + self.m_ui.dataBitsBox.addItem("8", QSerialPort.DataBits.Data8) self.m_ui.dataBitsBox.setCurrentIndex(3) - self.m_ui.parityBox.addItem("None", QSerialPort.NoParity) - self.m_ui.parityBox.addItem("Even", QSerialPort.EvenParity) - self.m_ui.parityBox.addItem("Odd", QSerialPort.OddParity) - self.m_ui.parityBox.addItem("Mark", QSerialPort.MarkParity) - self.m_ui.parityBox.addItem("Space", QSerialPort.SpaceParity) + self.m_ui.parityBox.addItem("None", QSerialPort.Parity.NoParity) + self.m_ui.parityBox.addItem("Even", QSerialPort.Parity.EvenParity) + self.m_ui.parityBox.addItem("Odd", QSerialPort.Parity.OddParity) + self.m_ui.parityBox.addItem("Mark", QSerialPort.Parity.MarkParity) + self.m_ui.parityBox.addItem("Space", QSerialPort.Parity.SpaceParity) - self.m_ui.stopBitsBox.addItem("1", QSerialPort.OneStop) + self.m_ui.stopBitsBox.addItem("1", QSerialPort.StopBits.OneStop) if sys.platform == "win32": - self.m_ui.stopBitsBox.addItem("1.5", QSerialPort.OneAndHalfStop) + self.m_ui.stopBitsBox.addItem("1.5", QSerialPort.StopBits.OneAndHalfStop) - self.m_ui.stopBitsBox.addItem("2", QSerialPort.TwoStop) + self.m_ui.stopBitsBox.addItem("2", QSerialPort.StopBits.TwoStop) - self.m_ui.flowControlBox.addItem("None", QSerialPort.NoFlowControl) - self.m_ui.flowControlBox.addItem("RTS/CTS", QSerialPort.HardwareControl) - self.m_ui.flowControlBox.addItem("XON/XOFF", QSerialPort.SoftwareControl) + self.m_ui.flowControlBox.addItem("None", QSerialPort.FlowControl.NoFlowControl) + self.m_ui.flowControlBox.addItem("RTS/CTS", QSerialPort.FlowControl.HardwareControl) + self.m_ui.flowControlBox.addItem("XON/XOFF", QSerialPort.FlowControl.SoftwareControl) def fill_ports_info(self): self.m_ui.serialPortInfoListBox.clear() diff --git a/examples/statemachine/moveblocks/moveblocks.py b/examples/statemachine/moveblocks/moveblocks.py index 42a79b507..146fd739e 100644 --- a/examples/statemachine/moveblocks/moveblocks.py +++ b/examples/statemachine/moveblocks/moveblocks.py @@ -35,7 +35,7 @@ class QGraphicsRectWidget(QGraphicsWidget): def paint(self, painter: QPainter, option: QStyleOptionGraphicsItem, widget: QWidget | None = None): - painter.fillRect(self.rect(), Qt.blue) + painter.fillRect(self.rect(), Qt.GlobalColor.blue) class StateSwitchTransition(QAbstractTransition): @@ -110,7 +110,7 @@ if __name__ == '__main__': button4.setZValue(3) scene = QGraphicsScene(0, 0, 300, 300) - scene.setBackgroundBrush(Qt.black) + scene.setBackgroundBrush(Qt.GlobalColor.black) scene.addItem(button1) scene.addItem(button2) scene.addItem(button3) @@ -118,9 +118,9 @@ if __name__ == '__main__': window = GraphicsView(scene) window.setFrameStyle(0) - window.setAlignment(Qt.AlignLeft | Qt.AlignTop) - window.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) - window.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) + window.setAlignment(Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignTop) + window.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) + window.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) machine = QStateMachine() @@ -178,28 +178,28 @@ if __name__ == '__main__': anim = QPropertyAnimation(button4, b"geometry") anim.setDuration(1000) - anim.setEasingCurve(QEasingCurve.OutElastic) + anim.setEasingCurve(QEasingCurve.Type.OutElastic) animation_group.addAnimation(anim) sub_group = QSequentialAnimationGroup(animation_group) sub_group.addPause(100) anim = QPropertyAnimation(button3, b"geometry") anim.setDuration(1000) - anim.setEasingCurve(QEasingCurve.OutElastic) + anim.setEasingCurve(QEasingCurve.Type.OutElastic) sub_group.addAnimation(anim) sub_group = QSequentialAnimationGroup(animation_group) sub_group.addPause(150) anim = QPropertyAnimation(button2, b"geometry") anim.setDuration(1000) - anim.setEasingCurve(QEasingCurve.OutElastic) + anim.setEasingCurve(QEasingCurve.Type.OutElastic) sub_group.addAnimation(anim) sub_group = QSequentialAnimationGroup(animation_group) sub_group.addPause(200) anim = QPropertyAnimation(button1, b"geometry") anim.setDuration(1000) - anim.setEasingCurve(QEasingCurve.OutElastic) + anim.setEasingCurve(QEasingCurve.Type.OutElastic) sub_group.addAnimation(anim) state_switcher = StateSwitcher(machine) diff --git a/examples/statemachine/rogue/rogue.py b/examples/statemachine/rogue/rogue.py index bca4ccb84..20376b3c7 100644 --- a/examples/statemachine/rogue/rogue.py +++ b/examples/statemachine/rogue/rogue.py @@ -15,26 +15,26 @@ from PySide6.QtStateMachine import (QEventTransition, QFinalState, class MovementTransition(QEventTransition): def __init__(self, window): - super().__init__(window, QEvent.KeyPress) + super().__init__(window, QEvent.Type.KeyPress) self.window = window def eventTest(self, event): - if (event.type() == QEvent.StateMachineWrapped - and event.event().type() == QEvent.KeyPress): + if (event.type() == QEvent.Type.StateMachineWrapped + and event.event().type() == QEvent.Type.KeyPress): key = event.event().key() - return (key == Qt.Key_2 or key == Qt.Key_8 - or key == Qt.Key_6 or key == Qt.Key_4) + return (key == Qt.Key.Key_2 or key == Qt.Key.Key_8 + or key == Qt.Key.Key_6 or key == Qt.Key.Key_4) return False def onTransition(self, event): key = event.event().key() - if key == Qt.Key_4: + if key == Qt.Key.Key_4: self.window.move_player(self.window.left) - if key == Qt.Key_8: + if key == Qt.Key.Key_8: self.window.move_player(self.window.Up) - if key == Qt.Key_6: + if key == Qt.Key.Key_6: self.window.move_player(self.window.right) - if key == Qt.Key_2: + if key == Qt.Key.Key_2: self.window.move_player(self.window.down) @@ -100,16 +100,16 @@ class MainWindow(QMainWindow): quit_state = QState(machine) quit_state.assignProperty(self, 'status', 'Really quit(y/n)?') - yes_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Y) + yes_transition = QKeyEventTransition(self, QEvent.Type.KeyPress, Qt.Key.Key_Y) self._final_state = QFinalState(machine) yes_transition.setTargetState(self._final_state) quit_state.addTransition(yes_transition) - no_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_N) + no_transition = QKeyEventTransition(self, QEvent.Type.KeyPress, Qt.Key.Key_N) no_transition.setTargetState(input_state) quit_state.addTransition(no_transition) - quit_transition = QKeyEventTransition(self, QEvent.KeyPress, Qt.Key_Q) + quit_transition = QKeyEventTransition(self, QEvent.Type.KeyPress, Qt.Key.Key_Q) quit_transition.setTargetState(quit_state) input_state.addTransition(quit_transition) @@ -128,8 +128,8 @@ class MainWindow(QMainWindow): font_height = metrics.height() font_width = metrics.horizontalAdvance('X') - painter.fillRect(self.rect(), Qt.black) - painter.setPen(Qt.white) + painter.fillRect(self.rect(), Qt.GlobalColor.black) + painter.setPen(Qt.GlobalColor.white) y_pos = font_height painter.drawText(QPoint(0, y_pos), self.status) diff --git a/examples/statemachine/trafficlight/trafficlight.py b/examples/statemachine/trafficlight/trafficlight.py index 7dba4df55..c5c7f1da3 100644 --- a/examples/statemachine/trafficlight/trafficlight.py +++ b/examples/statemachine/trafficlight/trafficlight.py @@ -49,14 +49,14 @@ class TrafficLightWidget(QWidget): def __init__(self): super().__init__() vbox = QVBoxLayout(self) - self._red_light = LightWidget(Qt.red) + self._red_light = LightWidget(Qt.GlobalColor.red) vbox.addWidget(self._red_light) - self._yellow_light = LightWidget(Qt.yellow) + self._yellow_light = LightWidget(Qt.GlobalColor.yellow) vbox.addWidget(self._yellow_light) - self._green_light = LightWidget(Qt.green) + self._green_light = LightWidget(Qt.GlobalColor.green) vbox.addWidget(self._green_light) pal = QPalette() - pal.setColor(QPalette.Window, Qt.black) + pal.setColor(QPalette.ColorRole.Window, Qt.GlobalColor.black) self.setPalette(pal) self.setAutoFillBackground(True) diff --git a/examples/tutorials/finance_manager/part1/financemodel.py b/examples/tutorials/finance_manager/part1/financemodel.py index 56041d0ed..9ab60fef7 100644 --- a/examples/tutorials/finance_manager/part1/financemodel.py +++ b/examples/tutorials/finance_manager/part1/financemodel.py @@ -19,11 +19,11 @@ class FinanceModel(QAbstractListModel): @QEnum class FinanceRole(IntEnum): - ItemNameRole = Qt.DisplayRole - CategoryRole = Qt.UserRole - CostRole = Qt.UserRole + 1 - DateRole = Qt.UserRole + 2 - MonthRole = Qt.UserRole + 3 + ItemNameRole = Qt.ItemDataRole.DisplayRole + CategoryRole = Qt.ItemDataRole.UserRole + CostRole = Qt.ItemDataRole.UserRole + 1 + DateRole = Qt.ItemDataRole.UserRole + 2 + MonthRole = Qt.ItemDataRole.UserRole + 3 @dataclass class Finance: diff --git a/examples/tutorials/finance_manager/part2/financemodel.py b/examples/tutorials/finance_manager/part2/financemodel.py index 0326697ba..7e48c2a66 100644 --- a/examples/tutorials/finance_manager/part2/financemodel.py +++ b/examples/tutorials/finance_manager/part2/financemodel.py @@ -20,11 +20,11 @@ class FinanceModel(QAbstractListModel): @QEnum class FinanceRole(IntEnum): - ItemNameRole = Qt.DisplayRole - CategoryRole = Qt.UserRole - CostRole = Qt.UserRole + 1 - DateRole = Qt.UserRole + 2 - MonthRole = Qt.UserRole + 3 + ItemNameRole = Qt.ItemDataRole.DisplayRole + CategoryRole = Qt.ItemDataRole.UserRole + CostRole = Qt.ItemDataRole.UserRole + 1 + DateRole = Qt.ItemDataRole.UserRole + 2 + MonthRole = Qt.ItemDataRole.UserRole + 3 @dataclass class Finance: diff --git a/examples/tutorials/finance_manager/part3/Frontend/financemodel.py b/examples/tutorials/finance_manager/part3/Frontend/financemodel.py index f5e5f7361..0e4bbef23 100644 --- a/examples/tutorials/finance_manager/part3/Frontend/financemodel.py +++ b/examples/tutorials/finance_manager/part3/Frontend/financemodel.py @@ -20,11 +20,11 @@ class FinanceModel(QAbstractListModel): @QEnum class FinanceRole(IntEnum): - ItemNameRole = Qt.DisplayRole - CategoryRole = Qt.UserRole - CostRole = Qt.UserRole + 1 - DateRole = Qt.UserRole + 2 - MonthRole = Qt.UserRole + 3 + ItemNameRole = Qt.ItemDataRole.DisplayRole + CategoryRole = Qt.ItemDataRole.UserRole + CostRole = Qt.ItemDataRole.UserRole + 1 + DateRole = Qt.ItemDataRole.UserRole + 2 + MonthRole = Qt.ItemDataRole.UserRole + 3 @dataclass class Finance: diff --git a/examples/uitools/uiloader/uiloader.py b/examples/uitools/uiloader/uiloader.py index fa19816e7..01530d654 100644 --- a/examples/uitools/uiloader/uiloader.py +++ b/examples/uitools/uiloader/uiloader.py @@ -22,7 +22,7 @@ if __name__ == '__main__': app = QApplication(sys.argv) ui_file = QFile(ui_file_name) - if not ui_file.open(QIODevice.ReadOnly): + if not ui_file.open(QIODevice.OpenModeFlag.ReadOnly): reason = ui_file.errorString() print(f"Cannot open {ui_file_name}: {reason}") sys.exit(-1) diff --git a/examples/webenginewidgets/markdowneditor/mainwindow.py b/examples/webenginewidgets/markdowneditor/mainwindow.py index be65483d3..208e6fa0f 100644 --- a/examples/webenginewidgets/markdowneditor/mainwindow.py +++ b/examples/webenginewidgets/markdowneditor/mainwindow.py @@ -21,9 +21,9 @@ class MainWindow(QMainWindow): self.m_content = Document() self._ui = Ui_MainWindow() self._ui.setupUi(self) - font = QFontDatabase.systemFont(QFontDatabase.FixedFont) + font = QFontDatabase.systemFont(QFontDatabase.SystemFont.FixedFont) self._ui.editor.setFont(font) - self._ui.preview.setContextMenuPolicy(Qt.NoContextMenu) + self._ui.preview.setContextMenuPolicy(Qt.ContextMenuPolicy.NoContextMenu) self._page = PreviewPage(self) self._ui.preview.setPage(self._page) @@ -44,7 +44,7 @@ class MainWindow(QMainWindow): self._ui.editor.document().modificationChanged.connect(self._ui.actionSave.setEnabled) defaultTextFile = QFile(":/default.md") - defaultTextFile.open(QIODevice.ReadOnly) + defaultTextFile.open(QIODevice.OpenModeFlag.ReadOnly) data = defaultTextFile.readAll() self._ui.editor.setPlainText(data.data().decode('utf8')) @@ -56,7 +56,7 @@ class MainWindow(QMainWindow): def openFile(self, path): f = QFile(path) name = QDir.toNativeSeparators(path) - if not f.open(QIODevice.ReadOnly): + if not f.open(QIODevice.OpenModeFlag.ReadOnly): error = f.errorString() QMessageBox.warning(self, self.windowTitle(), f"Could not open file {name}: {error}") @@ -74,7 +74,7 @@ class MainWindow(QMainWindow): if self.isModified(): m = "You have unsaved changes. Do you want to create a new document anyway?" button = QMessageBox.question(self, self.windowTitle(), m) - if button != QMessageBox.Yes: + if button != QMessageBox.StandardButton.Yes: return self.m_file_path = '' @@ -86,13 +86,13 @@ class MainWindow(QMainWindow): if self.isModified(): m = "You have unsaved changes. Do you want to open a new document anyway?" button = QMessageBox.question(self, self.windowTitle(), m) - if button != QMessageBox.Yes: + if button != QMessageBox.StandardButton.Yes: return dialog = QFileDialog(self) dialog.setWindowTitle("Open MarkDown File") dialog.setMimeTypeFilters(["text/markdown"]) - dialog.setAcceptMode(QFileDialog.AcceptOpen) - if dialog.exec() == QDialog.Accepted: + dialog.setAcceptMode(QFileDialog.AcceptMode.AcceptOpen) + if dialog.exec() == QDialog.DialogCode.Accepted: self.openFile(dialog.selectedFiles()[0]) @Slot() @@ -104,7 +104,7 @@ class MainWindow(QMainWindow): f = QFile(self.m_file_path) name = QDir.toNativeSeparators(self.m_file_path) - if not f.open(QIODevice.WriteOnly | QIODevice.Text): + if not f.open(QIODevice.OpenModeFlag.WriteOnly | QIODevice.OpenModeFlag.Text): error = f.errorString() QMessageBox.warning(self, self.windowTitle(), f"Could not write to file {name}: {error}") @@ -120,9 +120,9 @@ class MainWindow(QMainWindow): dialog = QFileDialog(self) dialog.setWindowTitle("Save MarkDown File") dialog.setMimeTypeFilters(["text/markdown"]) - dialog.setAcceptMode(QFileDialog.AcceptSave) + dialog.setAcceptMode(QFileDialog.AcceptMode.AcceptSave) dialog.setDefaultSuffix("md") - if dialog.exec() != QDialog.Accepted: + if dialog.exec() != QDialog.DialogCode.Accepted: return path = dialog.selectedFiles()[0] self.m_file_path = path @@ -132,7 +132,7 @@ class MainWindow(QMainWindow): if self.isModified(): m = "You have unsaved changes. Do you want to exit anyway?" button = QMessageBox.question(self, self.windowTitle(), m) - if button != QMessageBox.Yes: + if button != QMessageBox.StandardButton.Yes: event.ignore() else: event.accept() diff --git a/examples/webenginewidgets/simplebrowser/browser.py b/examples/webenginewidgets/simplebrowser/browser.py index cf3afa3d9..1bf458e79 100644 --- a/examples/webenginewidgets/simplebrowser/browser.py +++ b/examples/webenginewidgets/simplebrowser/browser.py @@ -20,7 +20,7 @@ class Browser(QObject): # Quit application if the download manager window is the only # remaining window - self._download_manager_widget.setAttribute(Qt.WA_QuitOnClose, False) + self._download_manager_widget.setAttribute(Qt.WidgetAttribute.WA_QuitOnClose, False) dp = QWebEngineProfile.defaultProfile() dp.downloadRequested.connect(self._download_manager_widget.download_requested) @@ -30,10 +30,10 @@ class Browser(QObject): name = "simplebrowser." + qWebEngineChromiumVersion() self._profile = QWebEngineProfile(name) s = self._profile.settings() - s.setAttribute(QWebEngineSettings.PluginsEnabled, True) - s.setAttribute(QWebEngineSettings.DnsPrefetchEnabled, True) - s.setAttribute(QWebEngineSettings.LocalContentCanAccessRemoteUrls, True) - s.setAttribute(QWebEngineSettings.LocalContentCanAccessFileUrls, False) + s.setAttribute(QWebEngineSettings.WebAttribute.PluginsEnabled, True) + s.setAttribute(QWebEngineSettings.WebAttribute.DnsPrefetchEnabled, True) + s.setAttribute(QWebEngineSettings.WebAttribute.LocalContentCanAccessRemoteUrls, True) + s.setAttribute(QWebEngineSettings.WebAttribute.LocalContentCanAccessFileUrls, False) self._profile.downloadRequested.connect( self._download_manager_widget.download_requested) diff --git a/examples/webenginewidgets/simplebrowser/browserwindow.py b/examples/webenginewidgets/simplebrowser/browserwindow.py index c09e12842..ad28304ef 100644 --- a/examples/webenginewidgets/simplebrowser/browserwindow.py +++ b/examples/webenginewidgets/simplebrowser/browserwindow.py @@ -18,7 +18,7 @@ def remove_backspace(keys): result = keys.copy() # Chromium already handles navigate on backspace when appropriate. for i, key in enumerate(result): - if (key[0].key() & Qt.Key_unknown) == Qt.Key_Backspace: + if (key[0].key() & Qt.Key.Key_unknown) == Qt.Key.Key_Backspace: del result[i] break return result @@ -51,8 +51,8 @@ class BrowserWindow(QMainWindow): self._reload_icon = QIcon.fromTheme(QIcon.ThemeIcon.ViewRefresh, QIcon(":view-refresh.png")) - self.setAttribute(Qt.WA_DeleteOnClose, True) - self.setFocusPolicy(Qt.ClickFocus) + self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose, True) + self.setFocusPolicy(Qt.FocusPolicy.ClickFocus) if not forDevTools: self._progress_bar = QProgressBar(self) @@ -97,7 +97,7 @@ class BrowserWindow(QMainWindow): focus_url_line_edit_action = QAction(self) self.addAction(focus_url_line_edit_action) - focus_url_line_edit_action.setShortcut(QKeySequence(Qt.CTRL | Qt.Key_L)) + focus_url_line_edit_action.setShortcut(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_L)) focus_url_line_edit_action.triggered.connect(self._focus_url_lineEdit) self.handle_web_view_title_changed("") @@ -140,27 +140,27 @@ class BrowserWindow(QMainWindow): def create_file_menu(self, tabWidget): file_menu = QMenu("File") - file_menu.addAction("&New Window", QKeySequence.New, + file_menu.addAction("&New Window", QKeySequence.StandardKey.New, self.handle_new_window_triggered) file_menu.addAction("New &Incognito Window", self.handle_new_incognito_window_triggered) new_tab_action = QAction("New Tab", self) - new_tab_action.setShortcuts(QKeySequence.AddTab) + new_tab_action.setShortcuts(QKeySequence.StandardKey.AddTab) new_tab_action.triggered.connect(self._new_tab) file_menu.addAction(new_tab_action) - file_menu.addAction("&Open File...", QKeySequence.Open, + file_menu.addAction("&Open File...", QKeySequence.StandardKey.Open, self.handle_file_open_triggered) file_menu.addSeparator() close_tab_action = QAction("Close Tab", self) - close_tab_action.setShortcuts(QKeySequence.Close) + close_tab_action.setShortcuts(QKeySequence.StandardKey.Close) close_tab_action.triggered.connect(self._close_current_tab) file_menu.addAction(close_tab_action) self._close_action = QAction("Quit", self) - self._close_action.setShortcut(QKeySequence(Qt.CTRL | Qt.Key_Q)) + self._close_action.setShortcut(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Q)) self._close_action.triggered.connect(self.close) file_menu.addAction(self._close_action) @@ -182,15 +182,15 @@ class BrowserWindow(QMainWindow): def create_edit_menu(self): edit_menu = QMenu("Edit") find_action = edit_menu.addAction("Find") - find_action.setShortcuts(QKeySequence.Find) + find_action.setShortcuts(QKeySequence.StandardKey.Find) find_action.triggered.connect(self.handle_find_action_triggered) find_next_action = edit_menu.addAction("Find Next") - find_next_action.setShortcut(QKeySequence.FindNext) + find_next_action.setShortcut(QKeySequence.StandardKey.FindNext) find_next_action.triggered.connect(self._find_next) find_previous_action = edit_menu.addAction("Find Previous") - find_previous_action.setShortcut(QKeySequence.FindPrevious) + find_previous_action.setShortcut(QKeySequence.StandardKey.FindPrevious) find_previous_action.triggered.connect(self._find_previous) return edit_menu @@ -243,25 +243,25 @@ class BrowserWindow(QMainWindow): view_menu = QMenu("View") self._stop_action = view_menu.addAction("Stop") shortcuts = [] - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_Period)) - shortcuts.append(QKeySequence(Qt.Key_Escape)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Period)) + shortcuts.append(QKeySequence(Qt.Key.Key_Escape)) self._stop_action.setShortcuts(shortcuts) self._stop_action.triggered.connect(self._stop) self._reload_action = view_menu.addAction("Reload Page") - self._reload_action.setShortcuts(QKeySequence.Refresh) + self._reload_action.setShortcuts(QKeySequence.StandardKey.Refresh) self._reload_action.triggered.connect(self._reload) zoom_in = view_menu.addAction("Zoom In") - zoom_in.setShortcut(QKeySequence(Qt.CTRL | Qt.Key_Plus)) + zoom_in.setShortcut(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Plus)) zoom_in.triggered.connect(self._zoom_in) zoom_out = view_menu.addAction("Zoom Out") - zoom_out.setShortcut(QKeySequence(Qt.CTRL | Qt.Key_Minus)) + zoom_out.setShortcut(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Minus)) zoom_out.triggered.connect(self._zoom_out) reset_zoom = view_menu.addAction("Reset Zoom") - reset_zoom.setShortcut(QKeySequence(Qt.CTRL | Qt.Key_0)) + reset_zoom.setShortcut(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_0)) reset_zoom.triggered.connect(self._reset_zoom) view_menu.addSeparator() @@ -286,25 +286,25 @@ class BrowserWindow(QMainWindow): menu = QMenu("Window") self._next_tab_action = QAction("Show Next Tab", self) shortcuts = [] - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_BraceRight)) - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_PageDown)) - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_BracketRight)) - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_Less)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_BraceRight)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_PageDown)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_BracketRight)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Less)) self._next_tab_action.setShortcuts(shortcuts) self._next_tab_action.triggered.connect(tabWidget.next_tab) self._previous_tab_action = QAction("Show Previous Tab", self) shortcuts.clear() - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_BraceLeft)) - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_PageUp)) - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_BracketLeft)) - shortcuts.append(QKeySequence(Qt.CTRL | Qt.Key_Greater)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_BraceLeft)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_PageUp)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_BracketLeft)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Greater)) self._previous_tab_action.setShortcuts(shortcuts) self._previous_tab_action.triggered.connect(tabWidget.previous_tab) self._inspector_action = QAction("Open inspector in window", self) shortcuts.clear() - shortcuts.append(QKeySequence(Qt.CTRL | Qt.SHIFT | Qt.Key_I)) + shortcuts.append(QKeySequence(Qt.Modifier.CTRL | Qt.Modifier.SHIFT | Qt.Key.Key_I)) self._inspector_action.setShortcuts(shortcuts) self._inspector_action.triggered.connect(self._emit_dev_tools_requested) self._window_menu = menu @@ -337,11 +337,11 @@ class BrowserWindow(QMainWindow): @Slot() def _back(self): - self._tab_widget.trigger_web_page_action(QWebEnginePage.Back) + self._tab_widget.trigger_web_page_action(QWebEnginePage.WebAction.Back) @Slot() def _forward(self): - self._tab_widget.trigger_web_page_action(QWebEnginePage.Forward) + self._tab_widget.trigger_web_page_action(QWebEnginePage.WebAction.Forward) @Slot() def _stop_reload(self): @@ -354,10 +354,10 @@ class BrowserWindow(QMainWindow): navigation_bar.toggleViewAction().setEnabled(False) self._history_back_action = QAction(self) - back_shortcuts = remove_backspace(QKeySequence.keyBindings(QKeySequence.Back)) + back_shortcuts = remove_backspace(QKeySequence.keyBindings(QKeySequence.StandardKey.Back)) # For some reason Qt doesn't bind the dedicated Back key to Back. - back_shortcuts.append(QKeySequence(Qt.Key_Back)) + back_shortcuts.append(QKeySequence(Qt.Key.Key_Back)) self._history_back_action.setShortcuts(back_shortcuts) self._history_back_action.setIconVisibleInMenu(False) back_icon = QIcon.fromTheme(QIcon.ThemeIcon.GoPrevious, @@ -368,8 +368,8 @@ class BrowserWindow(QMainWindow): navigation_bar.addAction(self._history_back_action) self._history_forward_action = QAction(self) - fwd_shortcuts = remove_backspace(QKeySequence.keyBindings(QKeySequence.Forward)) - fwd_shortcuts.append(QKeySequence(Qt.Key_Forward)) + fwd_shortcuts = remove_backspace(QKeySequence.keyBindings(QKeySequence.StandardKey.Forward)) + fwd_shortcuts.append(QKeySequence(Qt.Key.Key_Forward)) self._history_forward_action.setShortcuts(fwd_shortcuts) self._history_forward_action.setIconVisibleInMenu(False) next_icon = QIcon.fromTheme(QIcon.ThemeIcon.GoNext, @@ -385,7 +385,7 @@ class BrowserWindow(QMainWindow): self._url_line_edit = QLineEdit(self) self._fav_action = QAction(self) - self._url_line_edit.addAction(self._fav_action, QLineEdit.LeadingPosition) + self._url_line_edit.addAction(self._fav_action, QLineEdit.ActionPosition.LeadingPosition) self._url_line_edit.setClearButtonEnabled(True) navigation_bar.addWidget(self._url_line_edit) @@ -399,13 +399,13 @@ class BrowserWindow(QMainWindow): return navigation_bar def handle_web_action_enabled_changed(self, action, enabled): - if action == QWebEnginePage.Back: + if action == QWebEnginePage.WebAction.Back: self._history_back_action.setEnabled(enabled) - elif action == QWebEnginePage.Forward: + elif action == QWebEnginePage.WebAction.Forward: self._history_forward_action.setEnabled(enabled) - elif action == QWebEnginePage.Reload: + elif action == QWebEnginePage.WebAction.Reload: self._reload_action.setEnabled(enabled) - elif action == QWebEnginePage.Stop: + elif action == QWebEnginePage.WebAction.Stop: self._stop_action.setEnabled(enabled) else: print("Unhandled webActionChanged signal", file=sys.stderr) @@ -437,7 +437,7 @@ class BrowserWindow(QMainWindow): if not self.current_tab(): return search, ok = QInputDialog.getText(self, "Find", "Find:", - QLineEdit.Normal, self._last_search) + QLineEdit.EchoMode.Normal, self._last_search) if ok and search: self._last_search = search self.current_tab().findText(self._last_search) @@ -465,12 +465,12 @@ class BrowserWindow(QMainWindow): def handle_web_view_load_progress(self, progress): if 0 < progress and progress < 100: - self._stop_reload_action.setData(QWebEnginePage.Stop) + self._stop_reload_action.setData(QWebEnginePage.WebAction.Stop) self._stop_reload_action.setIcon(self._stop_icon) self._stop_reload_action.setToolTip("Stop loading the current page") self._progress_bar.setValue(progress) else: - self._stop_reload_action.setData(QWebEnginePage.Reload) + self._stop_reload_action.setData(QWebEnginePage.WebAction.Reload) self._stop_reload_action.setIcon(self._reload_icon) self._stop_reload_action.setToolTip("Reload the current page") self._progress_bar.setValue(0) @@ -486,12 +486,12 @@ class BrowserWindow(QMainWindow): def handle_dev_tools_requested(self, source): page = self._browser.create_dev_tools_window().current_tab().page() source.setDevToolsPage(page) - source.triggerAction(QWebEnginePage.InspectElement) + source.triggerAction(QWebEnginePage.WebAction.InspectElement) def handle_find_text_finished(self, result): sb = self.statusBar() if result.numberOfMatches() == 0: - sb.showMessage(f'"{self._lastSearch}" not found.') + sb.showMessage(f'"{self._last_search}" not found.') else: active = result.activeMatch() number = result.numberOfMatches() diff --git a/examples/webenginewidgets/simplebrowser/main.py b/examples/webenginewidgets/simplebrowser/main.py index f072b430b..2602c5db9 100644 --- a/examples/webenginewidgets/simplebrowser/main.py +++ b/examples/webenginewidgets/simplebrowser/main.py @@ -34,8 +34,8 @@ if __name__ == "__main__": QLoggingCategory.setFilterRules("qt.webenginecontext.debug=true") s = QWebEngineProfile.defaultProfile().settings() - s.setAttribute(QWebEngineSettings.PluginsEnabled, True) - s.setAttribute(QWebEngineSettings.DnsPrefetchEnabled, True) + s.setAttribute(QWebEngineSettings.WebAttribute.PluginsEnabled, True) + s.setAttribute(QWebEngineSettings.WebAttribute.DnsPrefetchEnabled, True) browser = Browser() window = browser.create_hidden_window() diff --git a/examples/webenginewidgets/simplebrowser/tabwidget.py b/examples/webenginewidgets/simplebrowser/tabwidget.py index b0eb865d9..4a5a933bb 100644 --- a/examples/webenginewidgets/simplebrowser/tabwidget.py +++ b/examples/webenginewidgets/simplebrowser/tabwidget.py @@ -28,14 +28,14 @@ class TabWidget(QTabWidget): self._profile = profile tab_bar = self.tabBar() tab_bar.setTabsClosable(True) - tab_bar.setSelectionBehaviorOnRemove(QTabBar.SelectPreviousTab) + tab_bar.setSelectionBehaviorOnRemove(QTabBar.SelectionBehavior.SelectPreviousTab) tab_bar.setMovable(True) - tab_bar.setContextMenuPolicy(Qt.CustomContextMenu) + tab_bar.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) tab_bar.customContextMenuRequested.connect(self.handle_context_menu_requested) tab_bar.tabCloseRequested.connect(self.close_tab) tab_bar.tabBarDoubleClicked.connect(self._tabbar_double_clicked) self.setDocumentMode(True) - self.setElideMode(Qt.ElideRight) + self.setElideMode(Qt.TextElideMode.ElideRight) self.currentChanged.connect(self.handle_current_changed) @@ -60,14 +60,14 @@ class TabWidget(QTabWidget): self.load_progress.emit(view.load_progress()) self.url_changed.emit(view.url()) self.fav_icon_changed.emit(view.fav_icon()) - e = view.is_web_action_enabled(QWebEnginePage.Back) - self.web_action_enabled_changed.emit(QWebEnginePage.Back, e) - e = view.is_web_action_enabled(QWebEnginePage.Forward) - self.web_action_enabled_changed.emit(QWebEnginePage.Forward, e) - e = view.is_web_action_enabled(QWebEnginePage.Stop) - self.web_action_enabled_changed.emit(QWebEnginePage.Stop, e) - e = view.is_web_action_enabled(QWebEnginePage.Reload) - self.web_action_enabled_changed.emit(QWebEnginePage.Reload, e) + e = view.is_web_action_enabled(QWebEnginePage.WebAction.Back) + self.web_action_enabled_changed.emit(QWebEnginePage.WebAction.Back, e) + e = view.is_web_action_enabled(QWebEnginePage.WebAction.Forward) + self.web_action_enabled_changed.emit(QWebEnginePage.WebAction.Forward, e) + e = view.is_web_action_enabled(QWebEnginePage.WebAction.Stop) + self.web_action_enabled_changed.emit(QWebEnginePage.WebAction.Stop, e) + e = view.is_web_action_enabled(QWebEnginePage.WebAction.Reload) + self.web_action_enabled_changed.emit(QWebEnginePage.WebAction.Reload, e) else: self.title_changed.emit("") self.load_progress.emit(0) diff --git a/examples/webenginewidgets/simplebrowser/webpopupwindow.py b/examples/webenginewidgets/simplebrowser/webpopupwindow.py index 0b2263c4c..fd82ed9f2 100644 --- a/examples/webenginewidgets/simplebrowser/webpopupwindow.py +++ b/examples/webenginewidgets/simplebrowser/webpopupwindow.py @@ -18,8 +18,8 @@ class WebPopupWindow(QWidget): self._fav_action = QAction(self) self._view = view - self.setAttribute(Qt.WA_DeleteOnClose) - self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) + self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose) + self.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) layout = QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) @@ -30,7 +30,7 @@ class WebPopupWindow(QWidget): self._view.setFocus() self._url_line_edit.setReadOnly(True) - self._url_line_edit.addAction(self._fav_action, QLineEdit.LeadingPosition) + self._url_line_edit.addAction(self._fav_action, QLineEdit.ActionPosition.LeadingPosition) self._view.titleChanged.connect(self.setWindowTitle) self._view.urlChanged.connect(self._url_changed) diff --git a/examples/webenginewidgets/simplebrowser/webview.py b/examples/webenginewidgets/simplebrowser/webview.py index 1ad4b493e..c7e577176 100644 --- a/examples/webenginewidgets/simplebrowser/webview.py +++ b/examples/webenginewidgets/simplebrowser/webview.py @@ -107,10 +107,10 @@ class WebView(QWebEngineView): self.handle_register_protocol_handler_requested) old_page.fileSystemAccessRequested.disconnect(self.handle_file_system_access_requested) - self.create_web_action_trigger(page, QWebEnginePage.Forward) - self.create_web_action_trigger(page, QWebEnginePage.Back) - self.create_web_action_trigger(page, QWebEnginePage.Reload) - self.create_web_action_trigger(page, QWebEnginePage.Stop) + self.create_web_action_trigger(page, QWebEnginePage.WebAction.Forward) + self.create_web_action_trigger(page, QWebEnginePage.WebAction.Back) + self.create_web_action_trigger(page, QWebEnginePage.WebAction.Reload) + self.create_web_action_trigger(page, QWebEnginePage.WebAction.Stop) super().setPage(page) page.create_certificate_error_dialog.connect(self.handle_certificate_error) page.authenticationRequired.connect(self.handle_authentication_required) diff --git a/examples/widgets/effects/blurpicker/blurpicker.py b/examples/widgets/effects/blurpicker/blurpicker.py index b44271549..c42a95696 100644 --- a/examples/widgets/effects/blurpicker/blurpicker.py +++ b/examples/widgets/effects/blurpicker/blurpicker.py @@ -35,10 +35,10 @@ class BlurPicker(QGraphicsView): self.index = 0 self._animation.setDuration(400) - self._animation.setEasingCurve(QEasingCurve.InOutSine) + self._animation.setEasingCurve(QEasingCurve.Type.InOutSine) self.setRenderHint(QPainter.RenderHint.Antialiasing, True) - self.setFrameStyle(QFrame.NoFrame) + self.setFrameStyle(QFrame.Shape.NoFrame) @Property(float) def index(self) -> float: @@ -86,9 +86,9 @@ class BlurPicker(QGraphicsView): def keyPressEvent(self, event): delta = 0 - if event.key() == Qt.Key_Left: + if event.key() == Qt.Key.Key_Left: delta = -1 - elif event.key() == Qt.Key_Right: + elif event.key() == Qt.Key.Key_Right: delta = 1 if self._animation.state() == QAbstractAnimation.Stopped and delta: @@ -100,7 +100,7 @@ class BlurPicker(QGraphicsView): right = event.position().x() > (self.width() / 2) delta = 1 if right else -1 - if self._animation.state() == QAbstractAnimation.Stopped: + if self._animation.state() == QAbstractAnimation.State.Stopped: self._animation.setEndValue(self._index + delta) self._animation.start() event.accept() diff --git a/examples/widgets/graphicsview/elasticnodes/elasticnodes.py b/examples/widgets/graphicsview/elasticnodes/elasticnodes.py index 873d3633b..3a051bd8e 100644 --- a/examples/widgets/graphicsview/elasticnodes/elasticnodes.py +++ b/examples/widgets/graphicsview/elasticnodes/elasticnodes.py @@ -301,19 +301,19 @@ class GraphWidget(QGraphicsView): def keyPressEvent(self, event): key = event.key() - if key == Qt.Key_Up: + if key == Qt.Key.Key_Up: self._center_node.moveBy(0, -20) - elif key == Qt.Key_Down: + elif key == Qt.Key.Key_Down: self._center_node.moveBy(0, 20) - elif key == Qt.Key_Left: + elif key == Qt.Key.Key_Left: self._center_node.moveBy(-20, 0) - elif key == Qt.Key_Right: + elif key == Qt.Key.Key_Right: self._center_node.moveBy(20, 0) - elif key == Qt.Key_Plus: + elif key == Qt.Key.Key_Plus: self.scale_view(1.2) - elif key == Qt.Key_Minus: + elif key == Qt.Key.Key_Minus: self.scale_view(1 / 1.2) - elif key == Qt.Key_Space or key == Qt.Key_Enter: + elif key == Qt.Key.Key_Space or key == Qt.Key.Key_Enter: for item in self.scene().items(): if isinstance(item, Node): item.setPos(-150 + random(300), -150 + random(300)) diff --git a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py index 2bfe9d71e..759f1ae19 100644 --- a/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py +++ b/examples/widgets/itemviews/basicfiltermodel/basicsortfiltermodel.py @@ -92,7 +92,7 @@ class Window(QWidget): self.setWindowTitle("Basic Sort/Filter Model") self.resize(500, 450) - self._proxy_view.sortByColumn(1, Qt.AscendingOrder) + self._proxy_view.sortByColumn(1, Qt.SortOrder.AscendingOrder) self._filter_column_combo_box.setCurrentIndex(1) self._filter_pattern_line_edit.setText("Andy|Grace") @@ -115,7 +115,7 @@ class Window(QWidget): reg_exp = QRegularExpression(pattern) if not self._filter_case_sensitivity_check_box.isChecked(): options = reg_exp.patternOptions() - options |= QRegularExpression.CaseInsensitiveOption + options |= QRegularExpression.PatternOption.CaseInsensitiveOption reg_exp.setPatternOptions(options) self._proxy_model.setFilterRegularExpression(reg_exp) @@ -126,9 +126,9 @@ class Window(QWidget): @Slot() def sort_changed(self): if self._sort_case_sensitivity_check_box.isChecked(): - case_sensitivity = Qt.CaseSensitive + case_sensitivity = Qt.CaseSensitivity.CaseSensitive else: - case_sensitivity = Qt.CaseInsensitive + case_sensitivity = Qt.CaseSensitivity.CaseInsensitive self._proxy_model.setSortCaseSensitivity(case_sensitivity) diff --git a/examples/widgets/mainwindows/application/application.py b/examples/widgets/mainwindows/application/application.py index e17c0cae4..c3ac90a42 100644 --- a/examples/widgets/mainwindows/application/application.py +++ b/examples/widgets/mainwindows/application/application.py @@ -84,21 +84,22 @@ class MainWindow(QMainWindow): def create_actions(self): icon = QIcon.fromTheme(QIcon.ThemeIcon.DocumentNew, QIcon(':/images/new.png')) - self._new_act = QAction(icon, "&New", self, shortcut=QKeySequence.New, + self._new_act = QAction(icon, "&New", self, shortcut=QKeySequence.StandardKey.New, statusTip="Create a new file", triggered=self.new_file) 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", + shortcut=QKeySequence.StandardKey.Open, + statusTip="Open an existing file", triggered=self.open) icon = QIcon.fromTheme(QIcon.ThemeIcon.DocumentSave, QIcon(':/images/save.png')) self._save_act = QAction(icon, "&Save", self, - shortcut=QKeySequence.Save, + shortcut=QKeySequence.StandardKey.Save, statusTip="Save the document to disk", triggered=self.save) self._save_as_act = QAction("Save &As...", self, - shortcut=QKeySequence.SaveAs, + shortcut=QKeySequence.StandardKey.SaveAs, statusTip="Save the document under a new name", triggered=self.save_as) @@ -107,19 +108,19 @@ class MainWindow(QMainWindow): statusTip="Exit the application", triggered=self.close) icon = QIcon.fromTheme(QIcon.ThemeIcon.EditCut, QIcon(':/images/cut.png')) - self._cut_act = QAction(icon, "Cu&t", self, shortcut=QKeySequence.Cut, + self._cut_act = QAction(icon, "Cu&t", self, shortcut=QKeySequence.StandardKey.Cut, statusTip="Cut the current selection's contents to the clipboard", triggered=self._text_edit.cut) icon = QIcon.fromTheme(QIcon.ThemeIcon.EditCopy, QIcon(':/images/copy.png')) self._copy_act = QAction(icon, "&Copy", - self, shortcut=QKeySequence.Copy, + self, shortcut=QKeySequence.StandardKey.Copy, statusTip="Copy the current selection's contents to the clipboard", triggered=self._text_edit.copy) icon = QIcon.fromTheme(QIcon.ThemeIcon.EditPaste, QIcon(':/images/paste.png')) self._paste_act = QAction(icon, "&Paste", - self, shortcut=QKeySequence.Paste, + self, shortcut=QKeySequence.StandardKey.Paste, statusTip="Paste the clipboard's contents into the current " "selection", triggered=self._text_edit.paste) @@ -187,22 +188,24 @@ class MainWindow(QMainWindow): ret = QMessageBox.warning(self, "Application", "The document has been modified.\nDo you want to save " "your changes?", - QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel) - if ret == QMessageBox.Save: + QMessageBox.StandardButton.Save + | QMessageBox.StandardButton.Discard + | QMessageBox.StandardButton.Cancel) + if ret == QMessageBox.StandardButton.Save: return self.save() - elif ret == QMessageBox.Cancel: + elif ret == QMessageBox.StandardButton.Cancel: return False return True def load_file(self, fileName): file = QFile(fileName) - if not file.open(QFile.ReadOnly | QFile.Text): + if not file.open(QFile.OpenModeFlag.ReadOnly | QFile.OpenModeFlag.Text): reason = file.errorString() QMessageBox.warning(self, "Application", f"Cannot read file {fileName}:\n{reason}.") return inf = QTextStream(file) - with QApplication.setOverrideCursor(Qt.WaitCursor): + with QApplication.setOverrideCursor(Qt.CursorShape.WaitCursor): self._text_edit.setPlainText(inf.readAll()) self.set_current_file(fileName) @@ -210,9 +213,9 @@ class MainWindow(QMainWindow): def save_file(self, fileName): error = None - with QApplication.setOverrideCursor(Qt.WaitCursor): + with QApplication.setOverrideCursor(Qt.CursorShape.WaitCursor): file = QSaveFile(fileName) - if file.open(QFile.WriteOnly | QFile.Text): + if file.open(QFile.OpenModeFlag.WriteOnly | QFile.OpenModeFlag.Text): outf = QTextStream(file) outf << self._text_edit.toPlainText() if not file.commit(): diff --git a/examples/widgets/mainwindows/dockwidgets/dockwidgets.py b/examples/widgets/mainwindows/dockwidgets/dockwidgets.py index 95c8ba1f9..1f28812b6 100644 --- a/examples/widgets/mainwindows/dockwidgets/dockwidgets.py +++ b/examples/widgets/mainwindows/dockwidgets/dockwidgets.py @@ -85,7 +85,7 @@ class MainWindow(QMainWindow): printer = QPrinter() dlg = QPrintDialog(printer, self) - if dlg.exec() != QDialog.Accepted: + if dlg.exec() != QDialog.DialogCode.Accepted: return document.print_(printer) @@ -102,14 +102,14 @@ class MainWindow(QMainWindow): filename = dialog.selectedFiles()[0] file = QFile(filename) - if not file.open(QFile.WriteOnly | QFile.Text): + if not file.open(QFile.OpenModeFlag.WriteOnly | QFile.OpenModeFlag.Text): reason = file.errorString() QMessageBox.warning(self, "Dock Widgets", f"Cannot write file {filename}:\n{reason}.") return out = QTextStream(file) - with QApplication.setOverrideCursor(Qt.WaitCursor): + with QApplication.setOverrideCursor(Qt.CursorShape.WaitCursor): out << self._text_edit.toHtml() self.statusBar().showMessage(f"Saved '{filename}'", 2000) @@ -145,8 +145,8 @@ class MainWindow(QMainWindow): if cursor.isNull(): return cursor.beginEditBlock() - cursor.movePosition(QTextCursor.PreviousBlock, - QTextCursor.MoveAnchor, 2) + cursor.movePosition(QTextCursor.MoveOperation.PreviousBlock, + QTextCursor.MoveMode.MoveAnchor, 2) cursor.insertBlock() cursor.insertText(paragraph) cursor.insertBlock() diff --git a/examples/widgets/rhi/simplerhiwidget/examplewidget.py b/examples/widgets/rhi/simplerhiwidget/examplewidget.py index 9f3ef70e9..732c8e555 100644 --- a/examples/widgets/rhi/simplerhiwidget/examplewidget.py +++ b/examples/widgets/rhi/simplerhiwidget/examplewidget.py @@ -24,7 +24,7 @@ VERTEX_DATA = numpy.array([ 0.0, 0.5, 1.0, 0.0, 0.0, # noqa E:201 def getShader(name): f = QFile(name) - if f.open(QIODevice.ReadOnly): + if f.open(QIODevice.OpenModeFlag.ReadOnly): return QShader.fromSerialized(f.readAll()) return QShader() @@ -62,17 +62,17 @@ class ExampleRhiWidget(QRhiWidget): if not self.m_pipeline: vertex_size = 4 * VERTEX_DATA.size - self.m_vbuf = self.m_rhi.newBuffer(QRhiBuffer.Immutable, - QRhiBuffer.VertexBuffer, vertex_size) + self.m_vbuf = self.m_rhi.newBuffer(QRhiBuffer.Type.Immutable, + QRhiBuffer.UsageFlag.VertexBuffer, vertex_size) self.m_vbuf.create() - self.m_ubuf = self.m_rhi.newBuffer(QRhiBuffer.Dynamic, - QRhiBuffer.UniformBuffer, 64) + self.m_ubuf = self.m_rhi.newBuffer(QRhiBuffer.Type.Dynamic, + QRhiBuffer.UsageFlag.UniformBuffer, 64) self.m_ubuf.create() self.m_srb = self.m_rhi.newShaderResourceBindings() bindings = [ - QRhiShaderResourceBinding.uniformBuffer(0, QRhiShaderResourceBinding.VertexStage, + QRhiShaderResourceBinding.uniformBuffer(0, QRhiShaderResourceBinding.StageFlag.VertexStage, # noqa: E501 self.m_ubuf) ] self.m_srb.setBindings(bindings) @@ -80,9 +80,9 @@ class ExampleRhiWidget(QRhiWidget): self.m_pipeline = self.m_rhi.newGraphicsPipeline() stages = [ - QRhiShaderStage(QRhiShaderStage.Vertex, + QRhiShaderStage(QRhiShaderStage.Type.Vertex, getShader(":/shader_assets/color.vert.qsb")), - QRhiShaderStage(QRhiShaderStage.Fragment, + QRhiShaderStage(QRhiShaderStage.Type.Fragment, getShader(":/shader_assets/color.frag.qsb")) ] self.m_pipeline.setShaderStages(stages) @@ -90,8 +90,8 @@ class ExampleRhiWidget(QRhiWidget): input_bindings = [QRhiVertexInputBinding(5 * 4)] # sizeof(float) inputLayout.setBindings(input_bindings) attributes = [ # 4: sizeof(float) - QRhiVertexInputAttribute(0, 0, QRhiVertexInputAttribute.Float2, 0), - QRhiVertexInputAttribute(0, 1, QRhiVertexInputAttribute.Float3, 2 * 4) + QRhiVertexInputAttribute(0, 0, QRhiVertexInputAttribute.Format.Float2, 0), + QRhiVertexInputAttribute(0, 1, QRhiVertexInputAttribute.Format.Float3, 2 * 4) ] inputLayout.setAttributes(attributes) self.m_pipeline.setVertexInputLayout(inputLayout) diff --git a/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py b/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py index 5f85ab24d..46534b189 100644 --- a/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py +++ b/examples/widgets/richtext/syntaxhighlighter/syntaxhighlighter.py @@ -40,20 +40,20 @@ class MainWindow(QMainWindow): if file_name: in_file = QFile(file_name) - if in_file.open(QFile.ReadOnly | QFile.Text): + if in_file.open(QFile.OpenModeFlag.ReadOnly | QFile.OpenModeFlag.Text): stream = QTextStream(in_file) self._editor.setPlainText(stream.readAll()) def setup_editor(self): class_format = QTextCharFormat() - class_format.setFontWeight(QFont.Bold) - class_format.setForeground(Qt.blue) + class_format.setFontWeight(QFont.Weight.Bold) + class_format.setForeground(Qt.GlobalColor.blue) pattern = r'^\s*class\s+\w+\(.*$' self._highlighter.add_mapping(pattern, class_format) function_format = QTextCharFormat() function_format.setFontItalic(True) - function_format.setForeground(Qt.blue) + function_format.setForeground(Qt.GlobalColor.blue) pattern = r'^\s*def\s+\w+\s*\(.*\)\s*:\s*$' self._highlighter.add_mapping(pattern, function_format) @@ -61,7 +61,7 @@ class MainWindow(QMainWindow): comment_format.setBackground(QColor("#77ff77")) self._highlighter.add_mapping(r'^\s*#.*$', comment_format) - font = QFontDatabase.systemFont(QFontDatabase.FixedFont) + font = QFontDatabase.systemFont(QFontDatabase.SystemFont.FixedFont) self._editor = QPlainTextEdit() self._editor.setFont(font) self._highlighter.setDocument(self._editor.document()) @@ -70,15 +70,15 @@ class MainWindow(QMainWindow): file_menu = self.menuBar().addMenu(self.tr("&File")) new_file_act = file_menu.addAction(self.tr("&New...")) - new_file_act.setShortcut(QKeySequence(QKeySequence.New)) + new_file_act.setShortcut(QKeySequence(QKeySequence.StandardKey.New)) new_file_act.triggered.connect(self.new_file) open_file_act = file_menu.addAction(self.tr("&Open...")) - open_file_act.setShortcut(QKeySequence(QKeySequence.Open)) + open_file_act.setShortcut(QKeySequence(QKeySequence.StandardKey.Open)) open_file_act.triggered.connect(self.open_file) quit_act = file_menu.addAction(self.tr("E&xit")) - quit_act.setShortcut(QKeySequence(QKeySequence.Quit)) + quit_act.setShortcut(QKeySequence(QKeySequence.StandardKey.Quit)) quit_act.triggered.connect(self.close) help_menu = self.menuBar().addMenu("&Help") diff --git a/examples/widgets/richtext/textobject/textobject.py b/examples/widgets/richtext/textobject/textobject.py index d42b5643c..d542ad893 100644 --- a/examples/widgets/richtext/textobject/textobject.py +++ b/examples/widgets/richtext/textobject/textobject.py @@ -17,7 +17,7 @@ from PySide6.QtWidgets import (QApplication, QHBoxLayout, QLabel, QLineEdit, from PySide6.QtSvg import QSvgRenderer -SVG_TEXT_FORMAT = QTextFormat.UserObject + 1 +SVG_TEXT_FORMAT = QTextFormat.ObjectTypes.UserObject + 1 SVG_DATA = 1 @@ -56,7 +56,7 @@ class Window(QWidget): file_name = self._file_name_line_edit.text() file = QFile(file_name) - if not file.open(QIODevice.ReadOnly): + if not file.open(QIODevice.OpenModeFlag.ReadOnly): reason = file.errorString() message = f"Could not open '{file_name}': {reason}" QMessageBox.warning(self, "Error Opening File", message) diff --git a/examples/widgets/tutorials/addressbook/part7.py b/examples/widgets/tutorials/addressbook/part7.py index ab86cf3c5..12e205577 100644 --- a/examples/widgets/tutorials/addressbook/part7.py +++ b/examples/widgets/tutorials/addressbook/part7.py @@ -121,7 +121,7 @@ class AddressBook(QWidget): main_layout = QGridLayout() main_layout.addWidget(name_label, 0, 0) main_layout.addWidget(self._name_line, 0, 1) - main_layout.addWidget(address_label, 1, 0, Qt.AlignTop) + main_layout.addWidget(address_label, 1, 0, Qt.AlignmentFlag.AlignTop) main_layout.addWidget(self._address_text, 1, 1) main_layout.addLayout(button_layout_1, 1, 2) main_layout.addLayout(button_layout_2, 2, 1) @@ -270,7 +270,7 @@ class AddressBook(QWidget): if self._current_mode in (self.AddingMode, self.EditingMode): self._name_line.setReadOnly(False) - self._name_line.setFocus(Qt.OtherFocusReason) + self._name_line.setFocus(Qt.FocusReason.OtherFocusReason) self._address_text.setReadOnly(False) self._add_button.setEnabled(False) @@ -378,7 +378,7 @@ class AddressBook(QWidget): out_file = QFile(file_name) - if not out_file.open(QIODevice.WriteOnly): + if not out_file.open(QIODevice.OpenModeFlag.WriteOnly): QMessageBox.information(self, "Unable to open file", out_file.errorString()) return diff --git a/examples/xml/dombookmarks/dombookmarks.py b/examples/xml/dombookmarks/dombookmarks.py index 9283ca4d2..f5afdeef8 100644 --- a/examples/xml/dombookmarks/dombookmarks.py +++ b/examples/xml/dombookmarks/dombookmarks.py @@ -38,7 +38,7 @@ class MainWindow(QMainWindow): return in_file = QFile(file_name) - if not in_file.open(QFile.ReadOnly | QFile.Text): + if not in_file.open(QFile.OpenModeFlag.ReadOnly | QFile.OpenModeFlag.Text): reason = in_file.errorString() QMessageBox.warning(self, "DOM Bookmarks", f"Cannot read file {file_name}:\n{reason}.") @@ -56,7 +56,7 @@ class MainWindow(QMainWindow): return out_file = QFile(file_name) - if not out_file.open(QFile.WriteOnly | QFile.Text): + if not out_file.open(QFile.OpenModeFlag.WriteOnly | QFile.Text): reason = out_file.errorString() QMessageBox.warning(self, "DOM Bookmarks", f"Cannot write file {file_name}:\n{reason}.") @@ -73,14 +73,14 @@ class MainWindow(QMainWindow): def create_menus(self): self._file_menu = self.menuBar().addMenu("&File") self._file_menu.addAction(QAction("&Open...", self, - shortcut=QKeySequence( - Qt.CTRL | Qt.Key_O), triggered=self.open)) + shortcut=QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_O), + triggered=self.open)) self._file_menu.addAction(QAction("&Save As...", self, - shortcut=QKeySequence( - Qt.CTRL | Qt.Key_S), triggered=self.save_as)) + shortcut=QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_S), + triggered=self.save_as)) self._file_menu.addAction(QAction("E&xit", self, - shortcut=QKeySequence( - Qt.CTRL | Qt.Key_Q), triggered=self.close)) + shortcut=QKeySequence(Qt.Modifier.CTRL | Qt.Key.Key_Q), + triggered=self.close)) self.menuBar().addSeparator() @@ -93,7 +93,7 @@ class XbelTree(QTreeWidget): def __init__(self, parent=None): super().__init__(parent) - self.header().setSectionResizeMode(QHeaderView.Stretch) + self.header().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) self.setHeaderLabels(("Title", "Location")) self._dom_document = QDomDocument() @@ -103,11 +103,12 @@ class XbelTree(QTreeWidget): self._folder_icon = QIcon() self._bookmark_icon = QIcon() - self._folder_icon.addPixmap(self.style().standardPixmap(QStyle.SP_DirClosedIcon), - QIcon.Normal, QIcon.Off) - self._folder_icon.addPixmap(self.style().standardPixmap(QStyle.SP_DirOpenIcon), - QIcon.Normal, QIcon.On) - self._bookmark_icon.addPixmap(self.style().standardPixmap(QStyle.SP_FileIcon)) + style = self.style() + self._folder_icon.addPixmap(style.standardPixmap(QStyle.StandardPixmap.SP_DirClosedIcon), + QIcon.Mode.Normal, QIcon.State.Off) + self._folder_icon.addPixmap(style.standardPixmap(QStyle.StandardPixmap.SP_DirOpenIcon), + QIcon.Mode.Normal, QIcon.State.On) + self._bookmark_icon.addPixmap(style.standardPixmap(QStyle.StandardPixmap.SP_FileIcon)) def read(self, device): ok, errorStr, errorLine, errorColumn = self._dom_document.setContent(device, True) @@ -173,7 +174,7 @@ class XbelTree(QTreeWidget): if not title: title = "Folder" - item.setFlags(item.flags() | Qt.ItemIsEditable) + item.setFlags(item.flags() | Qt.ItemFlag.ItemIsEditable) item.setIcon(0, self._folder_icon) item.setText(0, title) @@ -191,13 +192,13 @@ class XbelTree(QTreeWidget): if not title: title = "Folder" - child_item.setFlags(item.flags() | Qt.ItemIsEditable) + child_item.setFlags(item.flags() | Qt.ItemFlag.ItemIsEditable) child_item.setIcon(0, self._bookmark_icon) child_item.setText(0, title) child_item.setText(1, child.attribute('href')) elif child.tagName() == 'separator': child_item = self.create_item(child, item) - child_item.setFlags(item.flags() & ~(Qt.ItemIsSelectable | Qt.ItemIsEditable)) + child_item.setFlags(item.flags() & ~(Qt.ItemFlag.ItemIsSelectable | Qt.ItemFlag.ItemIsEditable)) # noqa: E501 child_item.setText(0, 30 * "\xb7") child = child.nextSiblingElement() |