添加四个item,分别做以下设置:
(1)原item,对比项
QPixmap pixmap(":/Icon/pic1");
QGraphicsPixmapItem *testItem = m_scene->addPixmap(pixmap);
testItem->setPos(100,200);
qDebug()<<"w="<<testItem ->boundingRect().width()<<",h="<<testItem ->boundingRect().height();
(2)缩放0.5倍
QGraphicsPixmapItem *testItem1 = m_scene->addPixmap(pixmap);
testItem1->setPos(200,200);
testItem1->setScale(0.5);
qDebug()<<"w="<<testItem1->boundingRect().width()<<",h="<<testItem1->boundingRect().height();
(3)缩放至0.5倍,再缩放至0.5倍
QGraphicsPixmapItem *testItem2 = m_scene->addPixmap(pixmap);
testItem2->setPos(300,200);
testItem2->setScale(0.5);
testItem2->setScale(0.5);
(4)缩放至0.25倍
QGraphicsPixmapItem *testItem3 = m_scene->addPixmap(pixmap);
testItem3->setPos(400,200);
testItem3->setScale(0.25);
结果:
可以看出,setScale函数设置倍数是在原图形的基础上变化,并非在当前大小;
可以看出,setScale函数操作后,图形占据的边界值并没有发生变化;