def paintEvent(self, event): total_width = self.width() - self.Margins[2] total_height = self.height() - self.Margins[3] total_tasks = float(self.__totals.total) bar = [] for i, v in enumerate(self.__values): if v == 0: continue bar.append((total_width * (v / total_tasks), constants.COLOR_TASK_STATE[i + 1])) painter = QtGui.QPainter() painter.begin(self) painter.setRenderHints(painter.HighQualityAntialiasing | painter.SmoothPixmapTransform | painter.Antialiasing) painter.setPen(self.__PEN) move = 0 for width, color in bar: painter.setBrush(color) rect = QtCore.QRectF(self.Margins[0], self.Margins[1], total_width, total_height) if move: rect.setLeft(move) move += width painter.drawRoundedRect(rect, 3, 3) painter.end() event.accept()
def paintEvent(self, event): total_width = self.width() - self.Margins[2] total_height = self.height() - self.Margins[3] total_tasks = float(self.__totals.total) vals = self.__values bar = [(total_width * (val / total_tasks), color) for val, color in vals if val != 0] painter = QtGui.QPainter() painter.begin(self) painter.setRenderHints(painter.HighQualityAntialiasing | painter.SmoothPixmapTransform | painter.Antialiasing) painter.setPen(self.__PEN) move = 0 x, y = self.Margins[:2] for width, color in reversed(bar): painter.setBrush(color) rect = QtCore.QRectF(x, y, total_width, total_height) if move: rect.setLeft(move) move += width painter.drawRoundedRect(rect, 3, 3) painter.end() event.accept()
def paintEvent(self, event): total_width = self.width() total_height = self.height() painter = QtGui.QPainter() painter.begin(self) painter.setRenderHints(painter.HighQualityAntialiasing | painter.SmoothPixmapTransform | painter.Antialiasing) if self.__hasErrors: painter.setBrush(constants.RED) else: painter.setBrush(constants.COLOR_JOB_STATE[self.__state]) painter.setPen(painter.brush().color().darker()) rect = QtCore.QRect(0, 0, total_width, total_height) painter.drawRoundedRect(rect, 5, 5) painter.setPen(QtCore.Qt.black) painter.drawText(rect, QtCore.Qt.AlignCenter, constants.JOB_STATES[self.__state]) painter.end()