Skip to content

PushButtonMixin

Base classes

Name Children Inherits
AbstractButtonMixin
prettyqt.widgets.abstractbutton
Abstract button widget base class, providing functionality common to buttons.

Subclasses

Class Module Description
PushButton prettyqt.widgets.pushbutton
CommandLinkButton prettyqt.widgets.commandlinkbutton

⋔ Inheritance diagram

graph TD
  1473296192448["widgets.PushButtonMixin"]
  1473293689216["widgets.AbstractButtonMixin"]
  1473293688240["widgets.WidgetMixin"]
  1473299815024["core.ObjectMixin"]
  140713234304496["builtins.object"]
  1473245548480["gui.PaintDeviceMixin"]
  1473293689216 --> 1473296192448
  1473293688240 --> 1473293689216
  1473299815024 --> 1473293688240
  140713234304496 --> 1473299815024
  1473245548480 --> 1473293688240
  140713234304496 --> 1473245548480

🛈 DocStrings

Bases: AbstractButtonMixin

Source code in prettyqt\widgets\pushbutton.py
class PushButtonMixin(widgets.AbstractButtonMixin):
    value_changed = core.Signal(bool)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.toggled.connect(self.value_changed)
        self._action = None

    def __repr__(self):
        return get_repr(self, self.text())

    def set_action(self, action: gui.QAction):
        if self._action == action:
            return
        if self._action:
            self._action.changed.disconnect(self._update_button_for_action)
            self.clicked.disconnect(self._action.trigger)
        self._action = action
        self.clicked.connect(action.trigger)
        action.changed.connect(self._update_button_for_action)
        self._update_button_for_action()

    @core.Slot()
    def _update_button_for_action(self):
        self.setText(self._action.text())
        self.setIcon(self._action.icon())
        self.setStatusTip(self._action.statusTip())
        self.setToolTip(self._action.toolTip())
        self.setEnabled(self._action.isEnabled())
        self.setCheckable(self._action.isCheckable())
        self.setChecked(self._action.isChecked())