我正在使用 PyQt4 开发节点编辑器,并整理了 QGraphicsView 和 QGraphicsItem 的基础知识,但在透明度方面遇到了问题。
我的代码在下面,它看起来与我找到的示例相似,但是当我移动节点时,根据链接的图像留下了痕迹。
我是否错过了一些需要设置的标志或某处的某种更新调用?
def paint(self, painter, option, widget=None):
painter.setPen(Node.shadow_color)
painter.setBrush(Node.shadow_color)
painter.setOpacity(0.3)
shadow_rect = self.rect()
shadow_rect.translate(Node.shadow_offset, Node.shadow_offset)
painter.drawRoundedRect(shadow_rect, Node.corner_radius, Node.corner_radius)
if self.check_state(Node.SELECTED):
painter.setPen(Node.outline_selected_colour)
painter.setBrush(Node.background_selected_colour)
else:
painter.setPen(Node.outline_colour)
painter.setBrush(Node.background_colour)
if self.check_state(Node.HOVER):
painter.setPen(Node.outline_hover_colour)
painter.setBrush(Node.background_hover_colour)
painter.setOpacity(1.0)
painter.drawRoundedRect(self.rect(), Node.corner_radius, Node.corner_radius)