【问题标题】:Zooming QtQuick painted items缩放 QtQuick 绘制的项目
【发布时间】:2015-05-13 15:49:15
【问题描述】:

我正在尝试缩放QQuickPaintedItems,这样东西会变大,但绘图质量不会变差(即随着项目变大重新触发绘画)。

setScale 方法和我想得到的类似,但是项目内容没有缩放,所以看起来很糟糕。

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

我想获得两者的组合,但我无法让它工作。我尝试使用setContentsSize,但并不清楚它的用途,此外,我尝试将其更改为一些随机值,但我没有遇到任何明显的差异。

setContentsSize 的用途是什么? 实现我正在寻找的缩放是否有用? 有没有更好的选择?

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

我不明白为什么蓝色的矩形比黄色的大,但是这幅画超出了蓝色的矩形:如果你仔细观察,你还可以看到文字是单行的,并且没有被包裹。

发生了什么事?

【问题讨论】:

    标签: qt zooming qt5 qtquick2 pyqt5


    【解决方案1】:

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

    如文档中所述,缩放同时发生在内容和画家上,因此蓝色矩形符合预期(与文档一致),但并不是真正有用。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 2019-02-23
      • 2015-12-29
      • 1970-01-01
      • 2020-09-21
      • 1970-01-01
      • 2013-09-25
      相关资源
      最近更新 更多