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")
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)
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)
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)
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)
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 )
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)
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())