CopperSpice API  1.9.1
QAbstractButton Class Referenceabstract

Abstract base class of button widgets, providing functionality common to buttons. More...

Inheritance diagram for QAbstractButton:
QWidget QObject QPaintDevice QCheckBox QPushButton QRadioButton QToolButton QCommandLinkButton

Public Signals

void clicked (bool checked=false)
 
void pressed ()
 
void released ()
 
void toggled (bool checked)
 
- Public Signals inherited from QWidget
void customContextMenuRequested (const QPoint &pos)
 
void windowIconChanged (const QIcon &icon)
 
void windowIconTextChanged (const QString &iconText)
 
void windowTitleChanged (const QString &title)
 
- Public Signals inherited from QObject
void destroyed (QObject *obj=nullptr)
 
void objectNameChanged (const QString &objectName)
 

Public Slots

void animateClick (int msec=100)
 
void click ()
 
void setChecked (bool checked)
 
void setIconSize (const QSize &size)
 
void toggle ()
 
- Public Slots inherited from QWidget
bool close ()
 
void hide ()
 
void lower ()
 
void raise ()
 
void repaint ()
 
void setDisabled (bool disable)
 
void setEnabled (bool enable)
 
void setFocus ()
 
void setHidden (bool hidden)
 
void setStyleSheet (const QString &styleSheet)
 
virtual void setVisible (bool visible)
 
void setWindowModified (bool modified)
 
void setWindowTitle (const QString &title)
 
void show ()
 
void showFullScreen ()
 
void showMaximized ()
 
void showMinimized ()
 
void showNormal ()
 
void update ()
 
- Public Slots inherited from QObject
void deleteLater ()
 

Public Methods

 QAbstractButton (QWidget *parent=nullptr)
 
 ~QAbstractButton ()
 
bool autoExclusive () const
 
bool autoRepeat () const
 
int autoRepeatDelay () const
 
int autoRepeatInterval () const
 
QButtonGroupgroup () const
 
QIcon icon () const
 
QSize iconSize () const
 
bool isCheckable () const
 
bool isChecked () const
 
bool isDown () const
 
void setAutoExclusive (bool enable)
 
void setAutoRepeat (bool enable)
 
void setAutoRepeatDelay (int delay)
 
void setAutoRepeatInterval (int interval)
 
void setCheckable (bool enable)
 
void setDown (bool enable)
 
void setIcon (const QIcon &icon)
 
void setShortcut (const QKeySequence &key)
 
void setText (const QString &text)
 
QKeySequence shortcut () const
 
QString text () const
 
- Public Methods inherited from QWidget
 QWidget (QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::EmptyFlag)
 
 ~QWidget ()
 
bool acceptDrops () const
 
QString accessibleDescription () const
 
QString accessibleName () const
 
QList< QAction * > actions () const
 
void activateWindow ()
 
void addAction (QAction *action)
 
void addActions (const QList< QAction * > &actions)
 
void adjustSize ()
 
bool autoFillBackground () const
 
QPalette::ColorRole backgroundRole () const
 
QBackingStorebackingStore () const
 
QSize baseSize () const
 
QWidget * childAt (const QPoint &position) const
 
QWidget * childAt (int x, int y) const
 
QRect childrenRect () const
 
QRegion childrenRegion () const
 
void clearFocus ()
 
void clearMask ()
 
QMargins contentsMargins () const
 
QRect contentsRect () const
 
Qt::ContextMenuPolicy contextMenuPolicy () const
 
QCursor cursor () const
 
WId effectiveWinId () const
 
void ensurePolished () const
 
Qt::FocusPolicy focusPolicy () const
 
QWidget * focusProxy () const
 
QWidget * focusWidget () const
 
const QFontfont () const
 
QFontInfo fontInfo () const
 
QFontMetrics fontMetrics () const
 
QPalette::ColorRole foregroundRole () const
 
QRect frameGeometry () const
 
QSize frameSize () const
 
const QRectgeometry () const
 
void getContentsMargins (int *left, int *top, int *right, int *bottom) const
 
QPixmap grab (const QRect &rectangle=QRect (QPoint (0, 0), QSize (-1,-1)))
 
void grabGesture (Qt::GestureType gestureType, Qt::GestureFlags flags=Qt::GestureFlags ())
 
void grabKeyboard ()
 
void grabMouse ()
 
void grabMouse (const QCursor &cursor)
 
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context=Qt::WindowShortcut)
 
QGraphicsEffectgraphicsEffect () const
 
QGraphicsProxyWidgetgraphicsProxyWidget () const
 
bool hasEditFocus () const
 
bool hasFocus () const
 
virtual bool hasHeightForWidth () const
 
bool hasMouseTracking () const
 
int height () const
 
virtual int heightForWidth (int width) const
 
Qt::InputMethodHints inputMethodHints () const
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const
 
void insertAction (QAction *before, QAction *action)
 
void insertActions (QAction *before, QList< QAction * > actions)
 
bool isActiveWindow () const
 
bool isAncestorOf (const QWidget *child) const
 
bool isEnabled () const
 
bool isEnabledTo (const QWidget *parent) const
 
bool isEnabledToTLW () const
 
bool isFullScreen () const
 
bool isHidden () const
 
bool isMaximized () const
 
bool isMinimized () const
 
bool isModal () const
 
bool isTopLevel () const
 
bool isVisible () const
 
bool isVisibleTo (const QWidget *parent) const
 
bool isWindow () const
 
bool isWindowModified () const
 
QLayoutlayout () const
 
Qt::LayoutDirection layoutDirection () const
 
QLocale locale () const
 
QPoint mapFrom (const QWidget *parent, const QPoint &pos) const
 
QPoint mapFromGlobal (const QPoint &pos) const
 
QPoint mapFromParent (const QPoint &pos) const
 
QPoint mapTo (const QWidget *parent, const QPoint &pos) const
 
QPoint mapToGlobal (const QPoint &pos) const
 
QPoint mapToParent (const QPoint &pos) const
 
QRegion mask () const
 
int maximumHeight () const
 
QSize maximumSize () const
 
int maximumWidth () const
 
int minimumHeight () const
 
QSize minimumSize () const
 
virtual QSize minimumSizeHint () const
 
int minimumWidth () const
 
void move (const QPoint &point)
 
void move (int x, int y)
 
QWidget * nativeParentWidget () const
 
QWidget * nextInFocusChain () const
 
QRect normalGeometry () const
 
void overrideWindowFlags (Qt::WindowFlags flags)
 
QPaintEnginepaintEngine () const override
 
const QPalettepalette () const
 
QWidget * parentWidget () const
 
QPoint pos () const
 
QWidget * previousInFocusChain () const
 
QRect rect () const
 
void releaseKeyboard ()
 
void releaseMouse ()
 
void releaseShortcut (int id)
 
void removeAction (QAction *action)
 
void render (QPaintDevice *target, const QPoint &targetOffset=QPoint (), const QRegion &sourceRegion=QRegion (), RenderFlags renderFlags=RenderFlags (DrawWindowBackground|DrawChildren))
 
void render (QPainter *painter, const QPoint &targetOffset=QPoint (), const QRegion &sourceRegion=QRegion (), RenderFlags renderFlags=RenderFlags (DrawWindowBackground|DrawChildren))
 
void repaint (const QRect &rect)
 
void repaint (const QRegion &region)
 
void repaint (int x, int y, int w, int h)
 
void resize (const QSize &size)
 
void resize (int w, int h)
 
bool restoreGeometry (const QByteArray &geometry)
 
QByteArray saveGeometry () const
 
void scroll (int dx, int dy)
 
void scroll (int dx, int dy, const QRect &rect)
 
void setAcceptDrops (bool on)
 
void setAccessibleDescription (const QString &description)
 
void setAccessibleName (const QString &name)
 
void setAttribute (Qt::WidgetAttribute attribute, bool enable=true)
 
void setAutoFillBackground (bool enable)
 
void setBackgroundRole (QPalette::ColorRole role)
 
void setBaseSize (const QSize &size)
 
void setBaseSize (int basew, int baseh)
 
void setContentsMargins (const QMargins &margins)
 
void setContentsMargins (int left, int top, int right, int bottom)
 
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
 
void setCursor (const QCursor &cursor)
 
void setEditFocus (bool enable)
 
void setFixedHeight (int h)
 
void setFixedSize (const QSize &size)
 
void setFixedSize (int w, int h)
 
void setFixedWidth (int w)
 
void setFocus (Qt::FocusReason reason)
 
void setFocusPolicy (Qt::FocusPolicy policy)
 
void setFocusProxy (QWidget *widget)
 
void setFont (const QFont &font)
 
void setForegroundRole (QPalette::ColorRole role)
 
void setGeometry (const QRect &rect)
 
void setGeometry (int x, int y, int w, int h)
 
void setGraphicsEffect (QGraphicsEffect *effect)
 
void setInputMethodHints (Qt::InputMethodHints hints)
 
void setLayout (QLayout *layout)
 
void setLayoutDirection (Qt::LayoutDirection direction)
 
void setLocale (const QLocale &locale)
 
void setMask (const QBitmap &bitmap)
 
void setMask (const QRegion &region)
 
void setMaximumHeight (int maxh)
 
void setMaximumSize (const QSize &size)
 
void setMaximumSize (int maxw, int maxh)
 
void setMaximumWidth (int maxw)
 
void setMinimumHeight (int minh)
 
void setMinimumSize (const QSize &size)
 
void setMinimumSize (int minw, int minh)
 
void setMinimumWidth (int minw)
 
void setMouseTracking (bool enable)
 
void setPalette (const QPalette &palette)
 
void setParent (QWidget *parent)
 
void setParent (QWidget *parent, Qt::WindowFlags flags)
 
void setShortcutAutoRepeat (int id, bool enable=true)
 
void setShortcutEnabled (int id, bool enable=true)
 
void setSizeIncrement (const QSize &size)
 
void setSizeIncrement (int w, int h)
 
void setSizePolicy (QSizePolicy policy)
 
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
 
void setStatusTip (const QString &data)
 
void setStyle (QStyle *style)
 
void setToolTip (const QString &data)
 
void setToolTipDuration (int msec)
 
void setUpdatesEnabled (bool enable)
 
void setWhatsThis (const QString &str)
 
void setWindowFilePath (const QString &filePath)
 
void setWindowFlags (Qt::WindowFlags flags)
 
void setWindowIcon (const QIcon &icon)
 
void setWindowModality (Qt::WindowModality windowModality)
 
void setWindowOpacity (qreal level)
 
void setWindowRole (const QString &role)
 
void setWindowState (Qt::WindowStates windowState)
 
QSize size () const
 
virtual QSize sizeHint () const
 
QSize sizeIncrement () const
 
QSizePolicy sizePolicy () const
 
void stackUnder (QWidget *widget)
 
QString statusTip () const
 
QStylestyle () const
 
QString styleSheet () const
 
bool testAttribute (Qt::WidgetAttribute attribute) const
 
QString toolTip () const
 
int toolTipDuration () const
 
QWidget * topLevelWidget () const
 
bool underMouse () const
 
void ungrabGesture (Qt::GestureType gestureType)
 
void unsetCursor ()
 
void unsetLayoutDirection ()
 
void unsetLocale ()
 
void update (const QRect &rect)
 
void update (const QRegion &region)
 
void update (int x, int y, int w, int h)
 
void updateGeometry ()
 
bool updatesEnabled () const
 
QRegion visibleRegion () const
 
QString whatsThis () const
 
int width () const
 
QWidget * window () const
 
QString windowFilePath () const
 
Qt::WindowFlags windowFlags () const
 
QWindowwindowHandle () const
 
QIcon windowIcon () const
 
Qt::WindowModality windowModality () const
 
qreal windowOpacity () const
 
QString windowRole () const
 
Qt::WindowStates windowState () const
 
QString windowTitle () const
 
Qt::WindowType windowType () const
 
WId winId () const
 
int x () const
 
int y () const
 
- Public Methods inherited from QObject
 QObject (QObject *parent=nullptr)
 
 ~QObject ()
 
bool blockSignals (bool block)
 
const QList< QObject * > & children () const
 
bool connect (const QObject *sender, const QString &signalMethod, const QString &location, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
bool connect (const QObject *sender, const QString &signalMethod, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
bool disconnect (const QObject *receiver, const QString &slotMethod=QString ()) const
 
bool disconnect (const QString &signalMethod, const QString &location, const QObject *receiver=nullptr, const QString &slotMethod=QString ()) const
 
bool disconnect (const QString &signalMethod=QString (), const QObject *receiver=nullptr, const QString &slotMethod=QString ()) const
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QStringdynamicPropertyNames () const
 
virtual bool event (QEvent *event)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
template<typename T >
findChild (const QString &childName=QString ()) const
 
template<class T >
QList< T > findChildren (const QRegularExpression &regExp, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 
template<class T >
QList< T > findChildren (const QString &childName=QString (), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 
bool inherits (const QString &className) const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const
 
bool isWindowType () const
 
void killTimer (int id)
 
const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const
 
QObject * parent () const
 
template<class T = QVariant>
property (const QString &name) const
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const QString &name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 
QThreadthread () const
 
- Public Methods inherited from QPaintDevice
virtual ~QPaintDevice ()
 
int colorCount () const
 
int depth () const
 
int devicePixelRatio () const
 
qreal devicePixelRatioF () const
 
int height () const
 
int heightMM () const
 
int logicalDpiX () const
 
int logicalDpiY () const
 
bool paintingActive () const
 
int physicalDpiX () const
 
int physicalDpiY () const
 
int width () const
 
int widthMM () const
 

Protected Methods

void changeEvent (QEvent *event) override
 
virtual void checkStateSet ()
 
bool event (QEvent *event) override
 
void focusInEvent (QFocusEvent *event) override
 
void focusOutEvent (QFocusEvent *event) override
 
virtual bool hitButton (const QPoint &pos) const
 
void keyPressEvent (QKeyEvent *event) override
 
void keyReleaseEvent (QKeyEvent *event) override
 
void mouseMoveEvent (QMouseEvent *event) override
 
void mousePressEvent (QMouseEvent *event) override
 
void mouseReleaseEvent (QMouseEvent *event) override
 
virtual void nextCheckState ()
 
void paintEvent (QPaintEvent *event) override = 0
 
void timerEvent (QTimerEvent *event) override
 
- Protected Methods inherited from QWidget
virtual void actionEvent (QActionEvent *event)
 
virtual void closeEvent (QCloseEvent *event)
 
virtual void contextMenuEvent (QContextMenuEvent *event)
 
void create (WId window=0, bool initializeWindow=true, bool destroyOldWindow=true)
 
void destroy (bool destroyWindow=true, bool destroySubWindows=true)
 
virtual void dragEnterEvent (QDragEnterEvent *event)
 
virtual void dragLeaveEvent (QDragLeaveEvent *event)
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 
virtual void dropEvent (QDropEvent *event)
 
virtual void enterEvent (QEvent *event)
 
bool event (QEvent *event) override
 
bool focusNextChild ()
 
virtual bool focusNextPrevChild (bool next)
 
bool focusPreviousChild ()
 
virtual void hideEvent (QHideEvent *event)
 
void initPainter (QPainter *painter) const override
 
virtual void inputMethodEvent (QInputMethodEvent *event)
 
virtual void leaveEvent (QEvent *event)
 
int metric (PaintDeviceMetric metric) const override
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 
virtual void moveEvent (QMoveEvent *event)
 
virtual bool nativeEvent (const QByteArray &eventType, void *message, long *result)
 
virtual void resizeEvent (QResizeEvent *event)
 
virtual void showEvent (QShowEvent *event)
 
virtual void tabletEvent (QTabletEvent *event)
 
virtual void wheelEvent (QWheelEvent *event)
 
- Protected Methods inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signalMethod) const
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signalMethod) const
 
bool isSignalConnected (const QMetaMethod &signalMethod) const
 
int receivers (const QString &signal) const
 
QObject * sender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Protected Methods inherited from QPaintDevice
 QPaintDevice ()
 

Properties

 autoExclusive
 
 autoRepeat
 
 autoRepeatDelay
 
 autoRepeatInterval
 
 checkable
 
 checked
 
 down
 
 icon
 
 iconSize
 
 shortcut
 
 text
 
- Properties inherited from QWidget
 acceptDrops
 
 accessibleDescription
 
 accessibleName
 
 autoFillBackground
 
 baseSize
 
 childrenRect
 
 childrenRegion
 
 contextMenuPolicy
 
 cursor
 
 enabled
 
 focus
 
 focusPolicy
 
 font
 
 frameGeometry
 
 frameSize
 
 fullScreen
 
 geometry
 
 height
 
 inputMethodHints
 
 isActiveWindow
 
 layoutDirection
 
 locale
 
 maximized
 
 maximumHeight
 
 maximumSize
 
 maximumWidth
 
 minimized
 
 minimumHeight
 
 minimumSize
 
 minimumSizeHint
 
 minimumWidth
 
 modal
 
 mouseTracking
 
 normalGeometry
 
 palette
 
 pos
 
 rect
 
 size
 
 sizeHint
 
 sizeIncrement
 
 sizePolicy
 
 statusTip
 
 styleSheet
 
 toolTip
 
 updatesEnabled
 
 visible
 
 whatsThis
 
 width
 
 windowFilePath
 
 windowFlags
 
 windowIcon
 
 windowIconText
 
 windowModality
 
 windowModified
 
 windowOpacity
 
 windowTitle
 
 x
 
 y
 
- Properties inherited from QObject
 objectName
 

Friends

class QButtonGroup
 

Additional Inherited Members

- Public Typedefs inherited from QWidget
using RenderFlags = QFlags< RenderFlag >
 
- Public Types inherited from QWidget
enum  RenderFlag
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric
 
- Static Public Methods inherited from QWidget
static QWidget * createWindowContainer (QWindow *window, QWidget *parent=nullptr, Qt::WindowFlags flags=Qt::EmptyFlag)
 
static QWidget * find (WId id)
 
static QWidget * keyboardGrabber ()
 
static QWidget * mouseGrabber ()
 
static void setTabOrder (QWidget *firstWidget, QWidget *secondWidget)
 
- Static Public Methods inherited from QObject
static bool connect (const QObject *sender, const QMetaMethod &signalMethod, const QObject *receiver, const QMetaMethod &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool connect (const QObject *sender, const QString &signalMethod, const QObject *receiver, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection, const QString &location=QString ())
 
static bool connect (const QObject *sender, const QString &signalMethod, const QString &location, const QObject *receiver, const QString &slotMethod, Qt::ConnectionType type=Qt::AutoConnection)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class SlotClass , class... SlotArgs, class SlotReturn >
static bool connect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, SlotReturn (SlotClass::*slotMethod)(SlotArgs...), Qt::ConnectionType type=Qt::AutoConnection)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class T >
static bool connect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, T slotLambda, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const QMetaMethod &signalMethod, const QObject *receiver, const QMetaMethod &slotMethod)
 
static bool disconnect (const QObject *sender, const QString &signalMethod, const QObject *receiver, const QString &slotMethod)
 
static bool disconnect (const QObject *sender, const QString &signalMethod, const QString &location, const QObject *receiver, const QString &slotMethod)
 
static bool disconnect (const QObject *sender, std::nullptr_t, const QObject *receiver, std::nullptr_t)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class SlotClass , class... SlotArgs, class SlotReturn >
static bool disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, SlotReturn (SlotClass::*slotMethod)(SlotArgs...))
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver >
static bool disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, std::nullptr_t slotMethod=nullptr)
 
template<class Sender , class SignalClass , class... SignalArgs, class Receiver , class T >
static bool disconnect (const Sender *sender, void (SignalClass::*signalMethod)(SignalArgs...), const Receiver *receiver, T slotMethod)
 
static QMetaObjectstaticMetaObject ()
 
static QString tr (const char *text, const char *comment=nullptr, std::optional< int > numArg=std::optional< int >())
 
- Protected Slots inherited from QWidget
void updateMicroFocus ()
 

Detailed Description

The QAbstractButton class is the abstract base class for all button widgets. Child classes will handle user actions and specify how the button is drawn. QAbstractButton provides support for push buttons and checkable buttons. Push buttons are implemented in the QPushButton and QToolButton classes and checkable buttons are implemented in the QRadioButton and QCheckBox classes.

Any button can display a label containing text and an icon. The method setText() sets the text and setIcon() sets the icon. If a button is disabled, the label is changed to give the button a disabled appearance.

If the button is a text button with a string containing an ampersand ('&'), QAbstractButton automatically creates a shortcut key.

QPushButton *button = new QPushButton(tr("Ro&ck && Roll"), this);

The Alt+C shortcut is assigned to the button, i.e., when the user presses Alt+C the button will call animateClick(). See the QShortcut documentation for details (to display an actual ampersand, use '&&').

You can also set a custom shortcut key using the setShortcut() function. This is useful mostly for buttons that do not have any text, because they have no automatic shortcut.

button->setIcon(QIcon(":/images/print.png"));
button->setShortcut(tr("Alt+F7"));

All of the buttons provided by CopperSpice (QPushButton, QToolButton, QCheckBox, and QRadioButton) can display both text and icons. A button can be made the default button in a dialog are provided by QPushButton::setDefault() and QPushButton::setAutoDefault().

QAbstractButton provides most of the states used for buttons:

  • isDown() indicates whether the button is pressed down.
  • isChecked() indicates whether the button is checked. Only checkable buttons can be checked and unchecked (see below).
  • isEnabled() indicates whether the button can be pressed by the user. As opposed to other widgets, buttons derived from QAbstractButton accepts mouse and context menu events when disabled.
  • setAutoRepeat() sets whether the button will auto-repeat if the user holds it down. autoRepeatDelay and autoRepeatInterval define how auto-repetition is done.
  • setCheckable() sets whether the button is a toggle button or not.

The difference between isDown() and isChecked()is when the user clicks a toggle button to check it, the button is first pressed then released into the checked state. When the user clicks it again (to uncheck it), the button moves first to the pressed state, then to the unchecked state (isChecked() and isDown() are both false).

QAbstractButton provides four signals as follows.

  1. pressed() is emitted when the left mouse button is pressed while the mouse cursor is inside the button.
  2. released() is emitted when the left mouse button is released.
  3. clicked() is emitted when the button is first pressed and then released, when the shortcut key is typed, or when click() or animateClick() is called.
  4. toggled() is emitted when the state of a toggle button changes.

To subclass QAbstractButton you must reimplement at least paintEvent() to draw the button's outline and its text or pixmap. It is generally advisable to reimplement sizeHint() as well, and sometimes hitButton() (to determine whether a button press is within the button). For buttons with more than two states (like tri-state buttons), you will also have to reimplement checkStateSet() and nextCheckState().

See also
QButtonGroup

Constructor & Destructor Documentation

QAbstractButton::QAbstractButton ( QWidget parent = nullptr)
explicit

Constructs an abstract button with a parent.

QAbstractButton::~QAbstractButton ( )

Destroys the button.

Method Documentation

void QAbstractButton::animateClick ( int  msec = 100)
slot

Performs an animated click: the button is pressed immediately, and released msec milliseconds later (the default is 100 ms). Calling this function again before the button was released will reset the release timer. All signals associated with a click are emitted as appropriate.

This function does nothing if the button is disabled.

See also
click()
bool QAbstractButton::autoExclusive ( ) const

Returns the value of the property.

bool QAbstractButton::autoRepeat ( ) const

Returns the value of the property.

int QAbstractButton::autoRepeatDelay ( ) const

Returns the value of the property.

int QAbstractButton::autoRepeatInterval ( ) const

Returns the value of the property.

void QAbstractButton::changeEvent ( QEvent event)
overrideprotectedvirtual

Reimplemented from QWidget::changeEvent()

Reimplemented in QToolButton::changeEvent()

void QAbstractButton::checkStateSet ( )
protectedvirtual

This virtual handler is called when setChecked() was called, unless it was called from within nextCheckState(). It allows subclasses to reset their intermediate button states.

See also
nextCheckState()

Reimplemented in QCheckBox::checkStateSet()

void QAbstractButton::click ( )
slot

Performs a click.

All the usual signals associated with a click are emitted as appropriate. If the button is checkable, the state of the button is toggled.

This function does nothing if the button is disabled.

See also
animateClick()
void QAbstractButton::clicked ( bool  checked = false)
signal

This signal is emitted when the button is activated. This can occur when the button is pressed, the shortcut key is typed, or when click() or animateClick() is called. This signal is not emitted if you call setDown(), setChecked() or toggle().

If the button is checkable checked will be true if the button is checked, or false if the button is unchecked.

See also
pressed(), released(), toggled()
bool QAbstractButton::event ( QEvent event)
overrideprotected

Reimplemented from QWidget::event()

void QAbstractButton::focusInEvent ( QFocusEvent event)
overrideprotectedvirtual

Reimplemented from QWidget::focusInEvent()

Reimplemented in QPushButton::focusInEvent()

void QAbstractButton::focusOutEvent ( QFocusEvent event)
overrideprotectedvirtual

Reimplemented from QWidget::focusOutEvent()

Reimplemented in QPushButton::focusOutEvent()

QButtonGroup * QAbstractButton::group ( ) const

Returns the group that this button belongs to. If the button is not a member of any QButtonGroup, this methods returns a nullptr.

See also
QButtonGroup
bool QAbstractButton::hitButton ( const QPoint pos) const
protectedvirtual

Returns true if pos is inside the clickable button rectangle, otherwise returns false. By default, the clickable area is the entire widget. Subclasses may reimplement this function to provide support for clickable areas of different shapes and sizes.

Reimplemented in QToolButton::hitButton(), QCheckBox::hitButton(), QRadioButton::hitButton()

QIcon QAbstractButton::icon ( ) const

Returns the value of the property.

QSize QAbstractButton::iconSize ( ) const

Returns the value of the property.

bool QAbstractButton::isCheckable ( ) const

Indicates whether the button can be pressed by the user.

bool QAbstractButton::isChecked ( ) const

Indicates whether the button is checked. Only checkable buttons can be checked and unchecked.

bool QAbstractButton::isDown ( ) const

Indicates whether the button is pressed down.

void QAbstractButton::keyPressEvent ( QKeyEvent event)
overrideprotectedvirtual

Reimplemented from QWidget::keyPressEvent()

Reimplemented in QPushButton::keyPressEvent()

void QAbstractButton::keyReleaseEvent ( QKeyEvent event)
overrideprotectedvirtual

Reimplemented from QWidget::keyReleaseEvent()

void QAbstractButton::mouseMoveEvent ( QMouseEvent event)
overrideprotectedvirtual
void QAbstractButton::mousePressEvent ( QMouseEvent event)
overrideprotectedvirtual

Reimplemented from QWidget::mousePressEvent()

Reimplemented in QToolButton::mousePressEvent()

void QAbstractButton::mouseReleaseEvent ( QMouseEvent event)
overrideprotectedvirtual
void QAbstractButton::nextCheckState ( )
protectedvirtual

This virtual handler is called when a button is clicked. The default implementation calls setChecked(!isChecked()) if the button isCheckable(). It allows subclasses to implement intermediate button states.

See also
checkStateSet()

Reimplemented in QToolButton::nextCheckState(), QCheckBox::nextCheckState()

void QAbstractButton::paintEvent ( QPaintEvent event)
overrideprotectedpure virtual
void QAbstractButton::pressed ( )
signal

This signal is emitted when the button is pressed down.

See also
released(), clicked()
void QAbstractButton::released ( )
signal

This signal is emitted when the button is released.

See also
pressed(), clicked(), toggled()
void QAbstractButton::setAutoExclusive ( bool  enable)

Sets the value of the property to enable.

void QAbstractButton::setAutoRepeat ( bool  enable)

Sets the value of the property to enable.

void QAbstractButton::setAutoRepeatDelay ( int  delay)

Sets the value of the property to delay.

void QAbstractButton::setAutoRepeatInterval ( int  interval)

Sets the value of the property to interval.

void QAbstractButton::setCheckable ( bool  enable)

Sets the value of the property to enable.

void QAbstractButton::setChecked ( bool  checked)
slot

Sets the value of the property to checked.

void QAbstractButton::setDown ( bool  enable)

Sets the value of the property to enable.

void QAbstractButton::setIcon ( const QIcon icon)

Sets the value of the property to icon. The default size of the icon is defined by the GUI style however it can be adjusted by setting the iconSize property.

void QAbstractButton::setIconSize ( const QSize size)
slot

Sets the value of the property to size.

void QAbstractButton::setShortcut ( const QKeySequence key)

Sets the value of the property to key.

void QAbstractButton::setText ( const QString text)

Sets the value of the property to text.

QKeySequence QAbstractButton::shortcut ( ) const

Returns the value of the property.

QString QAbstractButton::text ( ) const

Returns the value of the property.

void QAbstractButton::timerEvent ( QTimerEvent event)
overrideprotected

Reimplemented from QOBject::timerEvent()

void QAbstractButton::toggle ( )
slot

Toggles the state of a checkable button.

See also
checked
void QAbstractButton::toggled ( bool  checked)
signal

This signal is emitted whenever a checkable button changes its state. If checked is true the button is now checked, if it is false the button is unchecked. This may be the result of a user action such as a mouse click or because setChecked() was called.

The states of buttons in radio button groups are updated before this signal is emitted. This means slots can act on either the "off" signal or the "on" signal emitted by the buttons in the group whose states have changed. Button groups can be created using the QButtonGroup class and updates to the button states monitored with the QButtonGroup::buttonClicked() signal.

For example, a slot that reacts to signals emitted by newly checked buttons but which ignores signals from buttons that have been unchecked can be implemented using the following pattern.

void MyWidget::reactToToggle(bool checked)
{
if (checked) {
// do something
}
}
See also
checked, clicked()

Property Documentation

QAbstractButton::autoExclusive

This property holds whether auto exclusive behavior is enabled. If it is enabled, checkable buttons that belong to the same parent widget behave as if they were part of the same exclusive button group. In an exclusive button group, only one button can be checked at any time. Checking another button automatically unchecks the previously checked one.

The property has no effect on buttons that belong to a button group.

This property is off by default, except for radio buttons.

See also
QRadioButton
PropertiesClass Methods
read autoExclusive
write setAutoExclusive
QAbstractButton::autoRepeat

This property holds whether autoRepeat is enabled. If it is enabled then the pressed(), released(), and clicked() signals are emitted at regular intervals while the button is down. The initial delay and the repetition interval are defined in milliseconds by autoRepeatDelay and autoRepeatInterval.

If a button is pressed by a shortcut key then auto-repeat is enabled and timed by the system and not by this class. The pressed(), released(), and clicked() signals will be emitted like in the normal case.

This property is off by default.

PropertiesClass Methods
read autoRepeat
write setAutoRepeat
QAbstractButton::autoRepeatDelay

This property holds the initial delay of auto-repetition. If autoRepeat is enabled, then autoRepeatDelay defines the initial delay in milliseconds before auto-repetition occurs.

See also
QAbstractButton::autoRepeat, QAbstractButton::autoRepeatInterval
PropertiesClass Methods
read autoRepeatDelay
write setAutoRepeatDelay
QAbstractButton::autoRepeatInterval

This property holds the interval of auto-repetition. If autoRepeat is enabled, then autoRepeatInterval defines the length of the auto-repetition interval in milliseconds.

See also
QAbstractButton::autoRepeat, QAbstractButton::autoRepeatDelay
PropertiesClass Methods
read autoRepeatInterval
write setAutoRepeatInterval
QAbstractButton::checkable

This property holds whether the button is checkable.

By default, the button is not checkable.

See also
QAbstractButton::checked
PropertiesClass Methods
read isCheckable
write setCheckable
QAbstractButton::checked

This property holds whether the button is checked. Only checkable buttons can be checked. By default, the button is unchecked.

See also
QAbstractButton::checkable
PropertiesClass Methods
read isChecked
write setChecked
user true
QAbstractButton::down

This property holds whether the button is pressed down. If this property is true the button is pressed down. The signals pressed() and clicked() are not emitted if you set this property to true. The default is false.

PropertiesClass Methods
read isDown
write setDown
designable true
QAbstractButton::icon

This property holds the icon shown on the button. The default size of the icon is defined by the GUI style however it can be adjusted by setting the iconSize property.

PropertiesClass Methods
read icon
write setIcon
QAbstractButton::iconSize

This property holds the icon size used for this button. The default size is defined by the GUI style. This is a maximum size for the icons. Smaller icons will not be scaled up.

PropertiesClass Methods
read iconSize
write setIconSize
QAbstractButton::shortcut

This property holds the mnemonic associated with the button.

PropertiesClass Methods
read shortcut
write setShortcut
QAbstractButton::text

This property holds the text shown on the button. If the button has no text the text() function will return an empty string.

If the text contains an ampersand character ('&'), a shortcut is automatically created for it. The character that follows the '&' will be used as the shortcut key. Any previous shortcut will be overwritten, or cleared if no shortcut is defined by the text. See the QShortcut documentation for details (to display an actual ampersand, use '&&').

There is no default text.

PropertiesClass Methods
read text
write setText