Skip to content

Commit

Permalink
graphicspixmapwidget: PyQt6 compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
ales-erjavec committed Jun 1, 2022
1 parent 2ff5d9e commit 85b83db
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Orange/widgets/utils/graphicspixmapwidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ def paint(
exposedcrect = crect.intersected(exposed)
pixmaptransform = self.pixmapTransform()
# map exposed rect to exposed pixmap coords
assert pixmaptransform.type() <= QTransform.TxRotate
assert pixmaptransform.type() in (
QTransform.TxNone, QTransform.TxTranslate, QTransform.TxScale
)
pixmaptransform, ok = pixmaptransform.inverted()
if not ok:
painter.drawPixmap(
Expand Down
37 changes: 37 additions & 0 deletions Orange/widgets/utils/tests/test_graphicspixmapwidget.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
from AnyQt.QtCore import Qt, QSize, QSizeF
from AnyQt.QtGui import QPixmap
from AnyQt.QtWidgets import QGraphicsScene, QGraphicsView

from orangewidget.tests.base import GuiTest
from Orange.widgets.utils.graphicspixmapwidget import GraphicsPixmapWidget


class TestGraphicsPixmapWidget(GuiTest):
def setUp(self) -> None:
super().setUp()
self.scene = QGraphicsScene()
self.view = QGraphicsView(self.scene)

def tearDown(self) -> None:
self.scene.clear()
self.scene.deleteLater()
self.view.deleteLater()
del self.scene
del self.view

def test_graphicspixmapwidget(self):
w = GraphicsPixmapWidget()
self.scene.addItem(w)
w.setPixmap(QPixmap(100, 100))
p = w.pixmap()
self.assertEqual(p.size(), QSize(100, 100))
self.view.grab()
w.setScaleContents(True)
w.setAspectRatioMode(Qt.KeepAspectRatio)
s = w.sizeHint(Qt.PreferredSize)
self.assertEqual(s, QSizeF(100., 100.))
s = w.sizeHint(Qt.PreferredSize, QSizeF(200., -1.))
self.assertEqual(s, QSizeF(200., 200.))
s = w.sizeHint(Qt.PreferredSize, QSizeF(-1., 200.))
self.assertEqual(s, QSizeF(200., 200.))
self.view.grab()

0 comments on commit 85b83db

Please sign in to comment.