如何在 QGraphicsView 中重置比例?

Posted

技术标签:

【中文标题】如何在 QGraphicsView 中重置比例?【英文标题】:How to reset the scale in QGraphicsView? 【发布时间】:2016-08-23 12:55:02 【问题描述】:

如何重置图形视图的比例,而不考虑之前应用的任何比例?使用scale() 将我给它的比例乘以前一个:

ui->graphicsView->scale(0.1, 0.1);
ui->graphicsView->scale(2, 2);
// the scale factor is (0.2,0.2) instead of (2,2)

【问题讨论】:

【参考方案1】:

QGraphicsView::resetMatrix() 重置矩阵,并在应用比例之前调用它:

view->scale(0.1, 0.1);
view->resetMatrix();
view->scale(2, 2);
// the scale factor is (2,2)

【讨论】:

【参考方案2】:

补充一点:

QGraphicsView::resetMatrix()等于QGraphicsView::resetTransform(),从源码可以看出:

void QGraphicsView::resetMatrix()

    resetTransform();

【讨论】:

是的,现在你必须使用 resetTransform(),因为 resetMatrix() 已被弃用。

以上是关于如何在 QGraphicsView 中重置比例?的主要内容,如果未能解决你的问题,请参考以下文章

Qt - 如何将 QGraphicsScene 缩放到 QGraphicsView

如何识别 QGraphicsView 鼠标移动事件?

使用 QGraphicsView 方法 Scene() 分配 QGraphicsScene 变量

使用 JavaScript/onorientationchange 在 iPhone 上重置 Safari 的比例/宽度/缩放

graphicsView 比例忽略在背景中

vue部分页面重置rem比例