def paintEvent(self, paintEvent):
painter = QPainter(self)
painter.translate(self.width()/2, self.height()/2)
painter.rotate(45)
painter.translate(-self.width()/2, -self.height()/2) # 这一步看不懂
如图和代码,按照我的理解,
- 平移 width/2
- 旋转 45
- 平移 -width/2
得到的结果应该是绿色的位置,但实际却是红色
请问应该怎么解释呢?
没用过pyqt,看上去是旋转中心点的问题。
按左上角旋转就得到绿色的。
按矩形中点旋转就得到红色的。