无法显示 QGraphicsEllipseItem()
Can't get QGraphicsEllipseItem() to display
我似乎无法让 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 并重新绘制从起点到新停止点的线以及围绕新点绘制椭圆停止点:
self.profileLine.setLine(self.StartX, self.StartY, self.StopX, self.StopY)
self.profileStopHandle.setPos(self.StopX, self.StopY)
该线显示正常并且表现正常,但无论如何我似乎无法绘制椭圆。我知道我传递给它的点坐标是正确的,因为它们与我用于直线的坐标相同。椭圆从来没有出现过,就好像它从来没有被创建过一样。我在这里做错了什么(它必须是非常基本的)?提前谢谢你。
问题是 Z 值(业余错误)。我把椭圆带到前景,现在它是可见的:
self.profileStopHandle.setZValue(self.sceneImage.zValue() + 1.0)
我似乎无法让 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 并重新绘制从起点到新停止点的线以及围绕新点绘制椭圆停止点:
self.profileLine.setLine(self.StartX, self.StartY, self.StopX, self.StopY)
self.profileStopHandle.setPos(self.StopX, self.StopY)
该线显示正常并且表现正常,但无论如何我似乎无法绘制椭圆。我知道我传递给它的点坐标是正确的,因为它们与我用于直线的坐标相同。椭圆从来没有出现过,就好像它从来没有被创建过一样。我在这里做错了什么(它必须是非常基本的)?提前谢谢你。
问题是 Z 值(业余错误)。我把椭圆带到前景,现在它是可见的:
self.profileStopHandle.setZValue(self.sceneImage.zValue() + 1.0)