migrate pyqt5 to pyside6

This commit is contained in:
ykcheungab
2026-09-21 09:34:56 +08:00
parent e276b5de0f
commit ccedb9ddd9
66 changed files with 2184 additions and 395 deletions
+1 -1
View File
@@ -310,7 +310,7 @@ def measure(
) -> tuple[dict, int]:
"""Run the assembled view and report what each stage cost."""
import numpy as np
from PyQt5.QtWidgets import QApplication
from PySide6.QtWidgets import QApplication
from orisys_app_shared.scene3d import synthetic
from orisys_app_shared.scene3d.contracts import DisplaySettings
+9 -5
View File
@@ -43,8 +43,9 @@ def _bootstrap_paths() -> None:
def collect(profile: str, *, keep_open_s: float) -> dict:
"""Create a real window, let Qt initialise it, and report what it got."""
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QApplication, QOpenGLWidget
from PySide6.QtCore import QTimer
from PySide6.QtOpenGLWidgets import QOpenGLWidget
from PySide6.QtWidgets import QApplication
from orisys_studio.scene3d.gl_backend import (
GLDispatch,
@@ -103,7 +104,7 @@ def collect(profile: str, *, keep_open_s: float) -> dict:
self.ready = True
def report_caps(self, capabilities) -> None:
from PyQt5.QtGui import QSurfaceFormat
from PySide6.QtGui import QSurfaceFormat
fmt: QSurfaceFormat = self.context().format() if self.context() else QSurfaceFormat()
ratio = float(self.devicePixelRatioF() or 1.0)
@@ -118,8 +119,11 @@ def collect(profile: str, *, keep_open_s: float) -> dict:
"max_texture_size": capabilities.max_texture_size,
"qt_format": {
"version": f"{fmt.majorVersion()}.{fmt.minorVersion()}",
"renderable_type": int(fmt.renderableType()),
"profile": int(fmt.profile()),
# PySide6 enums are not ints: `int(QSurfaceFormat.OpenGLES)` raises
# TypeError, so read `.value`. (PyQt5 exposed them as ints, which is
# why this worked before the migration.)
"renderable_type": int(fmt.renderableType().value),
"profile": int(fmt.profile().value),
"depth_buffer": int(fmt.depthBufferSize()),
"samples": int(fmt.samples()),
},
+1 -1
View File
@@ -141,7 +141,7 @@ def run(
view = None
widget = None
if use_gui:
from PyQt5.QtWidgets import QApplication
from PySide6.QtWidgets import QApplication
from orisys_studio.scene3d.gl_backend import configure_surface_format
from orisys_studio.scene3d.view import Scene3DView