我有QGraphicsRect
动态更改其高度。我想在高度改变后将其高度标准化为1。如果我尝试应用QTransform
或scale()
函数,y
的{{1}}位置也会发生变化,如果其QGraphicsRect
位置不是0。 / p>
我尝试在应用缩放之前将y
移回场景的原点,但它没有帮助。有什么想法吗?
下面的最小工作示例。 (按按钮更改QGraphicsRect
的高度)。如果问题得到解决,QRectItem
上边缘和下边缘应始终位于红线上。
QGraphicsRect
答案 0 :(得分:0)
几天后,我在IRC的一些人的帮助下找到了解决方案。转换矩阵必须是:
trans.setMatrix(1, trans.m12(), trans.m13(),
trans.m21(), height, trans.m23(),
trans.m31(), -height * self.rectY + self.rectY, 1)