def paint(self, painter, option, index): """Paint a toolbutton with an icon.""" super(ToolButtonDelegate, self).paint(painter, option, index) opt = QStyleOptionToolButton() opt.rect = self.get_btn_rect(option) opt.iconSize = icons.get_iconsize('small') opt.state |= QStyle.State_Enabled | QStyle.State_Raised opt.icon = icons.get_icon('erase-right') QApplication.style().drawControl(QStyle.CE_ToolButtonLabel, opt, painter)
def paintEvent(self, event) -> None: qp = QPainter() qp.begin(self) # Get default style. opt = QStyleOptionToolButton() self.initStyleOption(opt) # Scale icon to button size. Rect = opt.rect h = Rect.height() w = Rect.width() iconSize = max(h, w) # - 2 * self.pad opt.iconSize = QSize(iconSize, iconSize) # Draw self.style().drawComplexControl(QStyle.CC_ToolButton, opt, qp, self) qp.end()
def paintEvent(self, event): p = QPainter(self) r = self.rect() opt = QStyleOptionToolButton() opt.init(self) opt.state |= QStyle.State_AutoRaise if self.isEnabled() and self.underMouse() and \ not self.isChecked() and not self.isDown(): opt.state |= QStyle.State_Raised if self.isChecked(): opt.state |= QStyle.State_On if self.isDown(): opt.state |= QStyle.State_Sunken self.style().drawPrimitive(QStyle.PE_PanelButtonTool, opt, p, self) opt.icon = self.icon() opt.subControls = QStyle.SubControls() opt.activeSubControls = QStyle.SubControls() opt.features = QStyleOptionToolButton.None opt.arrowType = Qt.NoArrow size = self.style().pixelMetric(QStyle.PM_SmallIconSize, None, self) opt.iconSize = QSize(size, size) self.style().drawComplexControl(QStyle.CC_ToolButton, opt, p, self)