예제 #1
0
    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()
예제 #2
0
 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()
예제 #3
0
 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())