无法获取要显示的QGraphicsEllipseItem()

时间:2018-06-29 19:57:39

标签: pyqt qgraphicsscene qgraphicsitem

我似乎无法在视图中显示QGraphicsEllipseItem。我正在尝试将其与QGraphicsLineItem结合使用:

# Instantiate the line object:
self.profileLine = QGraphicsLineItem()
self.profileLine.setPen(QPen(Qt.yellow, 1.0))
self.profileLine.setLine(self.StartX, self.StartY, self.StopX, self.StopY)
self.scene.addItem(self.profileLine)

# Instantiate the circle:
self.profileStopHandle = QGraphicsEllipseItem()
self.profileStopHandle.setPen(QPen(Qt.yellow, 1.0))
self.profileStopHandle.setRect(self.StopX, self.StopY, 50, 50)
self.scene.addItem(self.profileStopHandle)

稍后,在我的鼠标移动事件中,我确定当前的鼠标坐标,将其分配给StopX / StopY并从起点到新的终点重新绘制直线,并在新的终点附近绘制椭圆:< / p>

self.profileLine.setLine(self.StartX, self.StartY, self.StopX, self.StopY)
self.profileStopHandle.setPos(self.StopX, self.StopY)

这条线显示得很好,并且表现出应有的效果,但是无论如何我似乎都无法画出椭圆。我知道我要传递给它的点坐标是正确的,因为它们与我用于直线的坐标相同。椭圆永远不会像最初从未创建过一样出现。我在这里做错了什么(必须是非常基本的东西)?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

问题是Z值(业余错误)。我把椭圆带到了前台,现在可以看到了:

self.profileStopHandle.setZValue(self.sceneImage.zValue() + 1.0)