1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
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
super().tearDown()
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()
|