def draw_item(self, painter): super(CavityWidget, self).draw_item(painter) x, y, w, h = self.get_bounds() rect = QRect(x, y, w, h) fm = QFontMetrics(painter.font()) sx = rect.width() / fm.width(self.cavityText) sy = rect.height() / fm.height() painter.save() painter.translate(rect.center()) painter.scale(sx, sy) painter.translate(-rect.center()) pen = QPen(QColor(240, 240, 240)) # Text color pen.setWidth(5.0) painter.setPen(pen) painter.drawText(rect, Qt.AlignCenter, self.cavityText) painter.setPen(self._pen) painter.restore()
def paintEvent(self, e): cr = self.contentsRect() painter = QPainter(self) painter.setClipRegion(e.region()) # if self.__data.isDown: # qDrawWinButton( # painter, 0, 0, self.width(), self.height(), self.palette(), True # ) painter.save() if self.__data.isDown: shiftSize = buttonShift(self) painter.translate(shiftSize.width(), shiftSize.height()) painter.setClipRect(cr) self.drawContents(painter) if not self.__data.icon.isNull(): iconRect = QRect(cr) iconRect.setX(iconRect.x() + self.margin()) if self.__data.itemMode != QwtLegendData.ReadOnly: iconRect.setX(iconRect.x() + BUTTONFRAME) iconRect.setSize(self.__data.icon.size()) iconRect.moveCenter(QPoint(iconRect.center().x(), cr.center().y())) painter.drawPixmap(iconRect, self.__data.icon) painter.restore()
def paint(self, painter: QPainter): bounding_rect = QRect(0, 0, self.width(), self.height()) if not self._frame_image.isNull(): draw_rect = self._frame_image.rect() draw_rect.moveCenter(bounding_rect.center()) painter.drawImage(draw_rect, self._frame_image, self._frame_image.rect())