From 6788c5f97042500972bd8169a1cca3c98dbbd32f Mon Sep 17 00:00:00 2001 From: Oscar Gustafsson <oscar.gustafsson@gmail.com> Date: Mon, 30 Jan 2023 21:57:21 +0100 Subject: [PATCH] Add testing with pyqt5 --- .gitlab-ci.yml | 51 ++++++++++++++++++++++++-- b_asic/GUI/main_window.py | 3 +- b_asic/scheduler_gui/axes_item.py | 4 +- b_asic/scheduler_gui/main_window.ui | 2 +- b_asic/scheduler_gui/ui_main_window.py | 3 +- pyproject.toml | 2 +- 6 files changed, 55 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5da3c2d7..01bd4f81 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,9 @@ before_script: - python -m pip install --upgrade pip - python --version - pip install pytest pytest-cov sphinx furo numpydoc pytest-xvfb pytest-qt setuptools_scm sphinx-qt-documentation pytest-xdist pytest-mpl + - pip install $QT_API + - export PYTEST_QT_API=$QT_API + - export QT_API=$QT_API # - export CXXFLAGS='--coverage' - pip install -ve . # Move file, but should be handled by installation @@ -30,19 +33,59 @@ before_script: coverage: /(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/ -run-test-3.8: +run-test-3.8-pyside2: + variables: + QT_API: pyside2 image: python:3.8 extends: ".run-test" -run-test-3.9: +run-test-3.8-pyqt5: + variables: + QT_API: pyqt5 + image: python:3.8 + extends: ".run-test" + +run-test-3.9-pyside2: + variables: + QT_API: pyside2 + image: python:3.9 + extends: ".run-test" + +run-test-3.9-pyqt5: + variables: + QT_API: pyqt5 image: python:3.9 extends: ".run-test" -run-test-3.10: +run-test-3.10-pyside2: + variables: + QT_API: pyside2 + image: python:3.10 + extends: ".run-test" + +run-test-3.10-pyqt5: + variables: + QT_API: pyqt5 + image: python:3.10 + extends: ".run-test" + +run-test-3.10-pyside6: + variables: + QT_API: pyside6 + image: python:3.10 + extends: ".run-test" + allow_failure: true + +run-test-3.10-pyqt6: + variables: + QT_API: pyqt6 image: python:3.10 extends: ".run-test" + allow_failure: true run-doc-test: + variables: + QT_API: pyside2 image: python:3.10 stage: test script: @@ -53,6 +96,8 @@ run-doc-test: # extends: ".run-test" pages: + variables: + QT_API: pyqt5 stage: deploy image: python:3.10 script: diff --git a/b_asic/GUI/main_window.py b/b_asic/GUI/main_window.py index 0a9cc982..942bcd5b 100644 --- a/b_asic/GUI/main_window.py +++ b/b_asic/GUI/main_window.py @@ -16,6 +16,7 @@ from qtpy.QtWidgets import ( QAction, QApplication, QFileDialog, + QGraphicsItem, QGraphicsScene, QGraphicsTextItem, QGraphicsView, @@ -527,7 +528,7 @@ class MainWindow(QMainWindow): attr_button_scene.moveBy( int(self.scene.width() / 4), int(self.scene.height() / 4) ) - attr_button_scene.setFlag(attr_button_scene.ItemIsSelectable, True) + attr_button_scene.setFlag(QGraphicsItem.ItemIsSelectable, True) operation_label = QGraphicsTextItem(op.name, attr_button_scene) if not self.is_show_names: operation_label.setOpacity(0) diff --git a/b_asic/scheduler_gui/axes_item.py b/b_asic/scheduler_gui/axes_item.py index 39bb40a0..adea4568 100644 --- a/b_asic/scheduler_gui/axes_item.py +++ b/b_asic/scheduler_gui/axes_item.py @@ -9,7 +9,7 @@ from math import pi, sin from typing import List, Optional, Union # QGraphics and QPainter imports -from qtpy.QtCore import QPoint, QPointF, Qt +from qtpy.QtCore import QPointF, Qt from qtpy.QtGui import QBrush, QPen, QPolygonF from qtpy.QtWidgets import ( QGraphicsItem, @@ -318,7 +318,7 @@ class AxesItem(QGraphicsItemGroup): self._append_x_tick() pos = self._x_ledger[-1].pos() self._x_ledger[-1].setPos( - pos + QPoint(self._width, 0) + pos + QPointF(self._width, 0) ) # move timeline # y-axis diff --git a/b_asic/scheduler_gui/main_window.ui b/b_asic/scheduler_gui/main_window.ui index ca6fcd2c..abec5863 100644 --- a/b_asic/scheduler_gui/main_window.ui +++ b/b_asic/scheduler_gui/main_window.ui @@ -57,7 +57,7 @@ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> </property> <property name="renderHints"> - <set>QPainter::HighQualityAntialiasing|QPainter::TextAntialiasing</set> + <set>QPainter::Antialiasing|QPainter::TextAntialiasing</set> </property> <property name="viewportUpdateMode"> <enum>QGraphicsView::FullViewportUpdate</enum> diff --git a/b_asic/scheduler_gui/ui_main_window.py b/b_asic/scheduler_gui/ui_main_window.py index f197afcd..17ff17f7 100644 --- a/b_asic/scheduler_gui/ui_main_window.py +++ b/b_asic/scheduler_gui/ui_main_window.py @@ -55,8 +55,7 @@ class Ui_MainWindow(object): QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop ) self.view.setRenderHints( - QtGui.QPainter.HighQualityAntialiasing - | QtGui.QPainter.TextAntialiasing + QtGui.QPainter.Antialiasing | QtGui.QPainter.TextAntialiasing ) self.view.setViewportUpdateMode( QtWidgets.QGraphicsView.FullViewportUpdate diff --git a/pyproject.toml b/pyproject.toml index 32b7026b..180be81b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ requires-python = ">=3.8" dependencies = [ "numpy", "pybind11>=2.3.0", - "pyside2", + # "pyside2", "qtpy", "graphviz>=0.19", "matplotlib", -- GitLab