说明
setTransform()函数可对QGraphicsView视图或者QGraphicsItem进行缩放,第二个参数传入true时目标将以等百分比进行缩放。
函数
- void QGraphicsView::setTransform(const QTransform &matrix, bool combine = false)
- void QGraphicsItem::setTransform(const QTransform &matrix, bool combine = false)
释义
- 设置QTransform对象。matrix:转换矩阵。可将scene场景全部坐标转换到view视口进行显示;combine:设置对现有的转换矩阵替换方式。true时表示两个矩阵将相乘后的结果替代现有矩阵,false则直接替代现有矩阵。
- 设置QTransform对象。matrix:转换矩阵。对当前item全部显示内容(包含其child),进行矩阵变换。
示例
以QGraphicsView视图为例。
//等百分比进行缩小, 每一次调用都会缩小到当前大小的0.9倍
ui->graphicsView->setTransform(QTransform(0.9, 0, 0,
0, 0.9, 0,
0, 0, 1), true);
//等百分比进行放大, 每一次调用都会放大到到当前大小的1.1倍
ui->graphicsView->setTransform(QTransform(1.1, 0, 0,
0, 1.1, 0,
0, 0, 1), true);