def paintEvent(self, event): painter = QPainter(self.viewport()) view_rect = self._translate(event.rect()) if view_rect.y() < 0: rect = QRect() rect.setHeight(self.viewport().height() + view_rect.y()) rect.setWidth(self.viewport().width()) brush = self.palette().brush(QPalette.Disabled, QPalette.Window) painter.fillRect(rect, brush) for index in self._intersecting_rows(view_rect): option = self._style_option(index) delegate = self.itemDelegate(index) delegate.paint(painter, option, index)
def draw(self, painter, xMap, yMap, rect): margin = 5 pieRect = QRect() pieRect.setX(rect.x() + margin) pieRect.setY(rect.y() + margin) pieRect.setHeight(int(yMap.transform(80.0))) pieRect.setWidth(pieRect.height()) angle = 3 * 5760 / 4 for key in ["User", "System", "Idle"]: curve = self.plot().cpuPlotCurve(key) if curve.dataSize(): value = int(5760 * curve.sample(0).y() / 100.0) painter.save() painter.setBrush(QBrush(curve.pen().color(), Qt.SolidPattern)) painter.drawPie(pieRect, int(-angle), int(-value)) painter.restore() angle += value