コード例 #1
0
    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()
コード例 #2
0
ファイル: job.py プロジェクト: ThreePointSquare/plow
    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()
コード例 #3
0
    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()