Esempio n. 1
0
    def paintEvent(self, event: QPaintEvent):

        painter = QPainter(self)
        if self.q_image is not None:
            painter.drawImage(event.rect(), self.q_image)
        else:
            painter.drawText(event.rect(), Qt.AlignCenter, "No Image Data")
Esempio n. 2
0
    def paintEvent(self, e: QtGui.QPaintEvent):
        painter = QtGui.QPainter(self)
        color = (r, g, b, a) = (255, 0, 0, 16)
        painter.fillRect(e.rect(), QColor(r, g, b, a))

        if self.m_infocus:
            rect = e.rect()
            rect.adjust(0, 0, -1, -1)
            painter.setPen(QColor(r, g, b))
            painter.drawRect(rect)
Esempio n. 3
0
    def paintEvent(self, event: QtGui.QPaintEvent):
        painter = QtGui.QPainter(self)
        painter.setRenderHint(QtGui.QPainter.Antialiasing)
        painter.setPen(Qt.NoPen)

        if self._image is None:
            painter.drawRect(0, 0, self.width(), self.height())
        else:
            rect = event.rect()
            # print('Draw image part %s:%s %s:%s' % (rect.x(), rect.y(), rect.width(), rect.height()))
            partial = self.__transform_for_paint(self._image, rect)
            working_partial = self.__transform_for_paint(
                self._working_image, rect)

            pixmap = QtGui.QPixmap()
            for x in range(0, rect.width(), 20):
                for y in range(0, rect.height(), 20):
                    block = partial.crop((x, y, x + 20, y + 20))
                    pixmap.convertFromImage(ImageQt.ImageQt(block))
                    painter.drawPixmap(rect.x() + x, rect.y() + y, pixmap)

                    working_block = working_partial.crop(
                        (x, y, x + 20, y + 20))
                    pixmap.convertFromImage(ImageQt.ImageQt(working_block))
                    painter.drawPixmap(rect.x() + x, rect.y() + y, pixmap)
Esempio n. 4
0
    def paintEvent(self, event: QPaintEvent):
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing)

        # Draw background
        painter.setBrush(QBrush(self._bg_colors[self._state.mode]))
        painter.drawRect(event.rect())

        # Draw digit
        font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
        font.setPixelSize(int(self.width() * 6 / 7))
        digit = str(self._state.digit) if self._state.digit != 0 else ' '
        painter.setPen(self._fg_color)
        painter.setFont(font)
        flags = Qt.AlignCenter | Qt.TextJustificationForced
        painter.drawText(event.rect(), flags, digit)
Esempio n. 5
0
    def paintEvent(self, event: QPaintEvent):
        painter = QPainter(self)

        painter.fillRect(event.rect(), self.palette().base())

        if self.level is None:
            return

        total_length = max(self.current_value, self.original_value)

        pixels_per_byte = event.rect().width() / total_length

        bar = QRect(event.rect())
        bar.setWidth(pixels_per_byte * self.current_value)

        if self.current_value > self.original_value:
            painter.fillRect(bar, Qt.red)
        else:
            painter.fillRect(bar, self.value_color)
Esempio n. 6
0
    def paintEvent(self, event: QtGui.QPaintEvent):  # Override
        if event.rect().width() < 1 or event.rect().height() < 1:
            return
        with util.q_painter(self) as p:
            if self.page is EMPTY_PAGE:
                p.fillRect(event.rect(), Qt.darkGray)
                return

            p.fillRect(event.rect(), Qt.black)
            img = render_fitz_page(self.page, self.zoom_level, self.devicePixelRatio())
            layout_size: QtCore.QSize = img.size() / img.devicePixelRatio()
            coordinate = centered_coord(event.rect().size(), layout_size)
            p.drawImage(coordinate, img)

            if self.preview_page is EMPTY_PAGE:
                return

            img = render_fitz_page(
                self.preview_page,
                self.zoom_level,
                self.devicePixelRatio(),
                clip=fitz.Rect(0, 0, self.page.bound().width, self.page.bound().height // 3),
            )
            p.drawImage(coordinate, img)

            # Draw Shadow under preview
            preview_layout_height: QtCore.QSize = img.size().height() / img.devicePixelRatio()
            grad = QtGui.QLinearGradient(
                coordinate.x(),
                preview_layout_height,
                coordinate.x(),
                preview_layout_height + 30,
            )
            grad.setColorAt(0.0, QtGui.QColor(0, 0, 0, 155))
            grad.setColorAt(1.0, QtGui.QColor(0, 0, 0, 0))
            p.fillRect(
                coordinate.x(),
                preview_layout_height,
                layout_size.width(),
                30,
                grad
            )
Esempio n. 7
0
    def paintEvent(self, event: QPaintEvent):
        if self.object is not None:
            painter = QPainter(self)

            if self.draw_background_color:
                painter.fillRect(event.rect(), QColor(*bg_color_for_palette(self.object.palette_group)))

            scaled_image = self.image.scaled(self.size(), aspectMode=Qt.KeepAspectRatio)

            x = (self.width() - scaled_image.width()) // 2
            y = (self.height() - scaled_image.height()) // 2

            painter.drawImage(x, y, scaled_image)

        return super(ObjectIcon, self).paintEvent(event)
    def paintEvent(self, event: QPaintEvent):
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing)

        painter.eraseRect(event.rect())

        painter.setBrush(QBrush(self._bg))
        painter.drawRect(event.rect())

        if self.mode == 'revealed':
            self.setFrameStyle(QFrame.Panel | QFrame.Plain)
            self.setLineWidth(0)
            self.setMidLineWidth(0)
            if self.content in self.content_colors.keys():
                font = QFontDatabase.systemFont(QFontDatabase.FixedFont)
                font.setPixelSize(int(self.width() * 5 / 6))
                painter.setPen(self.content_colors[self.content])
                painter.setFont(font)
                flags = Qt.AlignCenter | Qt.TextJustificationForced
                painter.drawText(event.rect(), flags, self.content)

            if self.content == 'bomb':
                loc = 'exploded_bomb' if self.was_clicked_bomb else 'bomb'
                painter.drawImage(event.rect(),
                                  QImage(self.image_locations[loc]))

        if self.mode == 'hidden':
            self.setFrameStyle(QFrame.Panel | QFrame.Raised)
            self.setLineWidth(3)
            self.setMidLineWidth(2)

        if self.mode == 'false_bomb':
            painter.drawImage(event.rect(),
                              QImage(self.image_locations['false_bomb']))

        if self.mode == 'flag':
            self.setFrameStyle(QFrame.Panel | QFrame.Raised)
            self.setLineWidth(3)
            self.setMidLineWidth(2)
            painter.drawImage(event.rect(),
                              QImage(self.image_locations['flag']))

        super(CellWidget, self).paintEvent(event)
Esempio n. 9
0
    def paintEvent(self, event: QPaintEvent) -> None:
        assert self.__parent_widget is not None

        painter = QPainter(self)

        indicator_pen = QPen(QColor(0x20, 0x20, 0x20))
        indicator_pen.setWidth(2)

        boundary_pen = QPen(QColor(0x20, 0x20, 0x20))
        boundary_pen.setWidth(4)

        INDICATOR_WIDTH = 10.0

        resolution = self.__parent_widget.resolution
        x = self.__parent_widget.argument
        upper = self.__parent_widget.upper_bound
        lower = self.__parent_widget.lower_bound
        maximum_value = self.__parent_widget.maximum_value
        minimum_value = self.__parent_widget.minimum_value

        original_to_scaled_converter = lambda x: np.divide(
            x - lower, upper - lower)
        scaled_to_original_converter = lambda x_scaled: np.multiply(
            x_scaled, upper - lower) + lower

        x_scaled = original_to_scaled_converter(x)

        painter.setRenderHint(QPainter.Antialiasing)
        painter.setRenderHint(QPainter.HighQualityAntialiasing)
        painter.setRenderHint(QPainter.TextAntialiasing)

        w = event.rect().width()
        h = event.rect().height()

        # Draw gradation
        gradation_width = int(w / min(resolution, w))
        for i in range(int(gradation_width / 2), w, gradation_width):
            x_scaled_temp = np.copy(x_scaled)
            x_scaled_temp[self.__target_dimension] = float(i) / float(w - 1)
            value = self.__parent_widget.calculate_value(
                scaled_to_original_converter(x_scaled_temp))

            # Normalize the value into [0, 1]
            value = (value - minimum_value) / (maximum_value - minimum_value)
            if hasattr(math, "isfinite"):  # Python 3.2 or later
                value = value if math.isfinite(value) else 0.5
            else:
                value = value if not (math.isnan(value)
                                      or math.isinf(value)) else 0.5

            # Get mapped color
            cmap = cm.get_cmap(name="viridis")
            rgba = cmap(value)
            color = QColor(int(rgba[0] * 255), int(rgba[1] * 255),
                           int(rgba[2] * 255))

            # Draw
            painter.fillRect(i - gradation_width / 2, 0, gradation_width * 2,
                             h, color)

        # Draw current position
        indicator_position = x_scaled[self.__target_dimension] * float(w)
        indicator_rect = QRectF(indicator_position - INDICATOR_WIDTH / 2.0,
                                0.0, INDICATOR_WIDTH, float(h))
        painter.setPen(indicator_pen)
        painter.drawRect(indicator_rect)

        # Draw boundary
        painter.setPen(boundary_pen)
        painter.drawRect(event.rect())