1
这可能是什么原因造成的?当我放大QGraphicsView并移动QGraphicsItem时,我得到这个奇怪的结果。如果我再次缩放或平移视图,或者我专注于其他小部件,它会更新。我使用PySide。而画家的功能是这样的
def paint(self, painter, option, widget):
if self.isSelected():
brush = self.highlight_brush
pen = self.highlight_pen
else:
brush = self.dormant_brush
pen = self.dormant_pen
painter.setBrush(brush)
painter.setPen(pen)
painter.drawRect(0, 0, 100, 100)
为什么会出现这种情况,即使对于这个基本的油漆事件?如果没有Pen,则不会看到此问题。如果我增加笔宽,这个问题令人不安。
昨天我研究过这一点,我怀疑这是由于视图需要以某种方式通知它需要更新,却不见什么“正确”的方法了。据推测,当物品有更新()调用时,他们发出信号,他们属于重绘视图? –
事实上,我上面贴的mouseMoveEvent属于视图。由于只有在选择了某些东西时才出现伪影,因此在鼠标移动期间(当存在活动选择时)更新视图确实可以解决问题。但是,我仍然不明白为什么会发生这种情况。正如我上面提到的那样,没有笔的时候绝对没有问题 – vaishak