缩放QtQuick画的物品

时间:2015-05-13 15:49:15

标签: qt zoom qt5 qtquick2 pyqt5

我试图缩放QQuickPaintedItem,以便事情变得更大,但绘画质量不会变差(即绘画会随着项目变大而重新触发)。

setScale方法类似于我想要的方法,但项目内容未缩放,因此看起来很糟糕。

相反,

setContentsScale将缩放内容并触发重新绘制,因此质量很高,但不幸的是内容也变得比项目更大

我想获得两者的组合,但我无法让它发挥作用。我尝试使用setContentsSize,但它并不是很清楚它用于什么,而且,我尝试将其更改为一些随机值,但我没有遇到任何明显的差异。

setContentsSize的目的是什么? 实现我正在寻找的变焦是否有用? 还有更好的选择吗?

编辑: 我尝试了一下,但我仍然没有找到答案。 用于演示我的结果的示例代码是here,而我获得的屏幕截图如下:

enter image description here

我无法理解为什么蓝色矩形像黄色那样​​大,但画面超出了蓝色:如果你仔细观察,你也可以看到文字在一行上,它就是它没包裹。

发生了什么?

1 个答案:

答案 0 :(得分:1)

问题是QQuickPaintedItem受到有关此问题的错误的影响,请参阅herehere

正如文档中所报道的那样,内容和画家都会进行缩放,因此蓝色矩形符合预期(与文档一致),但并不实用。

要修复它,需要进行一些调整:width()height()将用于获取当前项目大小,而不是contentsBoundingRect(),并且必须设置大小取决于比例因子。