gpt4 book ai didi

qt - QGraphicsView 使场景缩放到全宽

转载 作者:行者123 更新时间:2023-12-04 13:32:47 25 4
gpt4 key购买 nike

我将 QGraphicsView 子类化并在我的布局中显示小部件。在 View 中,我自然有 QGraphicsScene。

我可以很好地检索 QGraphicsScene 大小(即我设置的 2100x2970),但是 QGraphicsView 小部件的几何形状不正确。每当我调整主窗口大小时,布局会发生变化, View 小部件也会发生变化。当然,QGraphicsScene 的大小无关紧要,保持不变。但是通过视口(viewport)显示滚动条和场景的小部件并没有为我提供正确的小部件宽度和高度。

在 QtDesigner 中,QGraphicsView 小部件显示具有 1126x643 的 QWidget 几何形状。但是我永远无法在子类 QGraphicsView 类中检索这些值。

当我知道宽度(1126 或调整主窗口大小时的其他值)时,我可以计算 View 的比例因子(比例因子 = 1126/2100)以使场景覆盖 View 小部件的整个宽度。

在 QGraphicsView 中:

qDebug("scene: %f %f", scene()->width(), scene()->height()); // works (2100x2970)
qDebug("geo: %f %f", geometry().width(), geometry().height()); // does not (0x2970)

最佳答案

你看过QGraphicsView::fitInView()了吗? ?此方法将自动为您进行所需的比例计算。

关于qt - QGraphicsView 使场景缩放到全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com