我目前正在GraphicScene上绘制椭圆:
pen = QtGui.QPen(QtGui.QColor(QtCore.Qt.lightGray).darker(50))
for id, light in arrLights.iteritems():
angle = i*delta
circX = (w + x) * math.cos(angle)
circY = (h + y) * math.sin(angle)
item = callbackEllipse(light, hiveLight, circX, circY, w, h)
item.setAcceptHoverEvents(True)
item.setPen(pen)
if (light["status"]):
brush = QtGui.QBrush(QtGui.QColor(QtCore.Qt.lightGray))
else:
brush = QtGui.QBrush(QtGui.QColor(QtCore.Qt.lightGray).darker(150))
item.setBrush(brush)
self.scene().addItem(item)
self.writeText(light['name'], circX , circY, w, h)
i = i + 1
(callbackEllipse是一个具有父类QGraphicsEllipseItem的类,用于鼠标单击事件)
我正在尝试找出如何部分填充这些椭圆(基于百分比),如下图所示:
椭圆
椭圆
椭圆
我已经搜索并尝试了一些操作,例如多个椭圆和绘制的路径,但是这影响了点击事件,并且丢失了“未填充”椭圆部分的边界。
有人可以帮忙吗?