示例#1
0
    def paintEvent(self, event):
        painter = QPainter(self.viewport())

        width = self.width()
        height = self.height()
        imgL_rect = QRect(0, 0, self.fPixmapWidth, height)
        imgR_rect = QRect(width - self.fPixmapWidth, 0, self.fPixmapWidth,
                          height)

        painter.setBrush(self.rail_col)
        painter.setPen(Qt.NoPen)
        painter.drawRects(imgL_rect, imgR_rect)
        painter.setCompositionMode(QPainter.CompositionMode_Multiply)
        painter.drawTiledPixmap(imgL_rect, self.fPixmapL)
        painter.drawTiledPixmap(imgR_rect, self.fPixmapR)
        painter.setCompositionMode(QPainter.CompositionMode_Plus)
        painter.drawTiledPixmap(imgL_rect, self.fPixmapL)
        painter.drawTiledPixmap(imgR_rect, self.fPixmapR)
        painter.setCompositionMode(QPainter.CompositionMode_SourceOver)

        painter.setPen(self.edge_col)
        painter.setBrush(Qt.NoBrush)
        painter.drawRect(self.fPixmapWidth, 0, width - self.fPixmapWidth * 2,
                         height)

        QListWidget.paintEvent(self, event)
示例#2
0
 def paintEvent(self, event: QPaintEvent) -> None:
     painter = QPainter()
     painter.begin(self)
     painter.drawTiledPixmap(self.frameRect(), self._background)
     painter.fillRect(self.frameRect(), self._color)
     painter.end()
     super().paintEvent(event)
示例#3
0
 def paintEvent(self, event):
     painter = QPainter(self.viewport())
     painter.drawTiledPixmap(0, 0, self.fPixmapWidth, self.height(), self.fPixmapL)
     painter.drawTiledPixmap(
         self.width() - self.fPixmapWidth - 2, 0, self.fPixmapWidth, self.height(), self.fPixmapR
     )
     QListWidget.paintEvent(self, event)
示例#4
0
 def paintEvent(self, event):
     painter = QPainter(self.viewport())
     painter.drawTiledPixmap(0, 0, self.fPixmapWidth, self.height(),
                             self.fPixmapL)
     painter.drawTiledPixmap(self.width() - self.fPixmapWidth - 2, 0,
                             self.fPixmapWidth, self.height(),
                             self.fPixmapR)
     QListWidget.paintEvent(self, event)
示例#5
0
 def paintEvent(self, event):
     """Show the current color, with checkerboard alpha"""
     event.accept()
     p = QPainter(self)
     p.setPen(Qt.NoPen)
     if self.color.alphaF() < 1.0:
         # Draw a checkerboard pattern under the color
         p.drawTiledPixmap(event.rect(), self.pattern, QPoint(4, 4))
     p.fillRect(event.rect(), self.color)
     p.end()
示例#6
0
 def render_mask(self, mask):
     size = QSize(mask.width(), mask.height())
     rect = QRect(QPoint(0, 0), size)
     pixmap = QPixmap(size)
     painter = QPainter(pixmap)
     for mask_colour, texture_pixmap in self._palette.items():
         qcolour = QColor(*mask_colour)
         mask_bitmap = mask.createMaskFromColor(qcolour, Qt.MaskOutColor)
         mask_region = QRegion(mask_bitmap)
         painter.setClipRegion(mask_region)
         painter.drawTiledPixmap(rect, texture_pixmap)
     return pixmap
示例#7
0
    def paintEvent(self, event: QPaintEvent) -> None:
        sz = self.size()
        pen_width = int(self.pen_size / self.scaleFactor)
        self.pen.setWidth(pen_width)
        """ draw backgroud """
        static_image = QPixmap(sz)
        bpainter = QPainter()
        bpainter.begin(static_image)
        o = 10
        bg = self.palette().brush(QPalette.Window)
        bpainter.fillRect(0, 0, o, o, bg)
        bpainter.fillRect(self.width() - o, 0, o, o, bg)
        bpainter.fillRect(0, self.height() - o, o, o, bg)
        bpainter.fillRect(self.width() - o, self.height() - o, o, o, bg)
        bpainter.setClipRect(self.rect())
        bpainter.setRenderHint(QPainter.Antialiasing)
        bpainter.drawTiledPixmap(self.rect(), self.m_tile)
        bpainter.end()
        bpainter.begin(self)
        bpainter.drawPixmap(self.rect(), static_image)

        if self.state == self.State.disable:
            painter = QPainter()
            painter.begin(self)
            painter.drawPixmap(0, 0, sz.width(), sz.height(), self.currn_pix)
            painter.drawPixmap(0, 0, sz.width(), sz.height(), self.trans_pix)
            painter.end()
        else:
            painter = QPainter()
            painter.begin(self.trans_pix)
            if self.drawmode == self.DrawMode.line:
                painter.setCompositionMode(QPainter.CompositionMode_SourceOver)
            elif self.drawmode == self.DrawMode.clear:
                painter.setCompositionMode(QPainter.CompositionMode_Clear)
            painter.setPen(self.pen)
            self.drawingPath.drawPath(painter)
            painter.end()
            painter2 = QPainter()
            painter2.begin(self)
            painter2.drawPixmap(0, 0, sz.width(), sz.height(), self.currn_pix)
            painter2.drawPixmap(0, 0, sz.width(), sz.height(), self.trans_pix)
            if self.mousePressed:
                painter2.setPen(QPen(Qt.SolidLine))
                painter2.setBrush(
                    QBrush(QColor(255, 255, 255, 0), Qt.SolidPattern))
                painter2.setRenderHint(QPainter.Antialiasing, True)
                painter2.drawEllipse(self.cur_point, self.pen_size // 2,
                                     self.pen_size // 2)
            painter2.end()
示例#8
0
    def paintEvent(self, e):

        p = QPainter(self)

        current_frame_index = self._sprite.current_animation.current_frame_index

        frame_list = self._sprite.current_animation.frames

        frame_size = self._frameSize
        frame_padding = self._framePadding
        half_padding = frame_padding // 2
        two_padding = frame_padding * 2

        if self._horizontalShift != 0:
            p.translate(-self._horizontalShift, 0)

        for frameIndex, frame in enumerate(frame_list):

            surfaces = frame.surfaces

            frame_rect = QRect(
                frame_padding + frameIndex * frame_size +
                two_padding * frameIndex, frame_padding, frame_size,
                frame_size)

            if current_frame_index == frameIndex:
                p.setPen(self._pen)

                p.drawRect(
                    frame_rect.adjusted(-half_padding, -half_padding,
                                        half_padding, half_padding))

                p.setPen(Qt.black)

                p.drawRect(frame_rect.adjusted(-1, -1, 0, 0))

            p.drawTiledPixmap(frame_rect, self._checkerTile)

            for surface in surfaces:
                p.drawImage(frame_rect, surface.image, surface.image.rect())

            p.setPen(Qt.black)
            p.drawText(frame_rect.left() + two_padding,
                       frame_rect.top() + two_padding * 2, str(frameIndex + 1))
示例#9
0
    def paintEvent(self, e):

        p = QPainter(self)

        # Paint border

        bar_rect = self.rect().adjusted(0, 15, 0, -1)

        if self._background is not None:
            p.drawTiledPixmap(bar_rect, self._background)

        pen = QPen()
        pen.setColor(Qt.black)
        pen.setWidth(1)

        p.setPen(pen)

        bar_rect.adjust(0, 0, -1, 0)

        p.drawRect(bar_rect)

        p.setPen(Qt.white)

        # Paint Spectrum

        bar_rect.adjust(1, 1, 0, 0)

        p.fillRect(bar_rect, QBrush(self._gradient))

        # Paint Picker

        p.drawPixmap(self._pickRect, self._pickerPixmap)

        # Draw Label

        label_rect = QRect(200, 1, 20, 15)

        p.drawText(label_rect, Qt.AlignRight, str(self._value))

        if len(self._label) > 0:
            label_rect.adjust(-200, 0, 0, 0)
            p.drawText(label_rect, Qt.AlignLeft, self._label)
示例#10
0
    def paintEvent(self, e):
        p = QPainter(self)

        paint_rect = e.rect()

        half_width = paint_rect.width() / 2
        paint_rect.adjust(0, 0, -half_width, -2)

        if self._primaryColor:

            if self._primaryColor.alpha() < 255:
                p.drawTiledPixmap(paint_rect, self._background)

            p.fillRect(paint_rect, self._primaryColor)
            if self._activeColorIndex == ColorIndex.Primary:
                p.fillRect(paint_rect.adjusted(0, paint_rect.height(), 0, paint_rect.height() + 2),
                           QColor("red"))

        if self._secondaryColor:

            second_box_rect = paint_rect.translated(half_width, 0)

            if self._primaryColor.alpha() < 255:
                p.drawTiledPixmap(second_box_rect, self._background)

            p.fillRect(second_box_rect, self._secondaryColor)
            if self._activeColorIndex == ColorIndex.Secondary:
                p.fillRect(paint_rect.adjusted(paint_rect.width(), paint_rect.height(),
                                               paint_rect.width(),
                                               paint_rect.height() + 2), QColor("red"))

        if self._previewColor:

            if self._activeColorIndex == ColorIndex.Primary:
                p.fillRect(paint_rect, self._previewColor)
            else:
                p.fillRect(paint_rect.translated(half_width, 0), self._previewColor)
示例#11
0
 def drawBackground(self, p: QPainter, rect: QRectF):
     p.save()
     p.resetTransform()
     p.drawTiledPixmap(self.viewport().rect(),
                       self.backgroundBrush().texture())
     p.restore()