Qt 4.8
Public Slots | Signals | Public Functions | Properties | List of all members
QActionGroup Class Reference

The QActionGroup class groups actions together. More...

#include <qactiongroup.h>

Inheritance diagram for QActionGroup:
QObject

Public Slots

void setDisabled (bool b)
 This is a convenience function for the enabled property, that is useful for signals–slots connections. More...
 
void setEnabled (bool)
 
void setExclusive (bool)
 
void setVisible (bool)
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Signals

void hovered (QAction *)
 This signal is emitted when the given action in the action group is highlighted by the user; for example, when the user pauses with the cursor over a menu option, toolbar button, or presses an action's shortcut key combination. More...
 
QT_MOC_COMPAT void selected (QAction *)
 Use triggered() instead. More...
 
void triggered (QAction *)
 This signal is emitted when the given action in the action group is activated by the user; for example, when the user clicks a menu option, toolbar button, or presses an action's shortcut key combination. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

QList< QAction * > actions () const
 Returns the list of this groups's actions. More...
 
QActionaddAction (QAction *a)
 Adds the action to this group, and returns it. More...
 
QActionaddAction (const QString &text)
 Creates and returns an action with text. More...
 
QActionaddAction (const QIcon &icon, const QString &text)
 Creates and returns an action with text and an icon. More...
 
QActioncheckedAction () const
 Returns the currently checked action in the group, or 0 if none are checked. More...
 
bool isEnabled () const
 
bool isExclusive () const
 
bool isVisible () const
 
 QActionGroup (QObject *parent)
 Constructs an action group for the parent object. More...
 
void removeAction (QAction *a)
 Removes the action from this group. More...
 
 ~QActionGroup ()
 Destroys the action group. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Properties

bool enabled
 whether the action group is enabled More...
 
bool exclusive
 whether the action group does exclusive checking More...
 
bool visible
 whether the action group is visible More...
 

Additional Inherited Members

- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QActionGroup class groups actions together.

In some situations it is useful to group QAction objects together. For example, if you have a Left Align action, a Right Align action, a Justify action, and a Center action, only one of these actions should be active at any one time. One simple way of achieving this is to group the actions together in an action group.

Here's a example (from the Menus example):

alignmentGroup = new QActionGroup(this);
alignmentGroup->addAction(leftAlignAct);
alignmentGroup->addAction(rightAlignAct);
alignmentGroup->addAction(justifyAct);
alignmentGroup->addAction(centerAct);
leftAlignAct->setChecked(true);

Here we create a new action group. Since the action group is exclusive by default, only one of the actions in the group is checked at any one time.

qactiongroup-align.png
Alignment options in a QMenu

A QActionGroup emits an triggered() signal when one of its actions is chosen. Each action in an action group emits its triggered() signal as usual.

As stated above, an action group is exclusive by default; it ensures that only one checkable action is active at any one time. If you want to group checkable actions without making them exclusive, you can turn of exclusiveness by calling setExclusive(false).

Actions can be added to an action group using addAction(), but it is usually more convenient to specify a group when creating actions; this ensures that actions are automatically created with a parent. Actions can be visually separated from each other by adding a separator action to the group; create an action and use QAction's QAction::setSeparator() function to make it considered a separator. Action groups are added to widgets with the QWidget::addActions() function.

See also
QAction

Definition at line 57 of file qactiongroup.h.

Constructors and Destructors

◆ QActionGroup()

QActionGroup::QActionGroup ( QObject parent)
explicit

Constructs an action group for the parent object.

The action group is exclusive by default. Call setExclusive(false) to make the action group non-exclusive.

Definition at line 159 of file qactiongroup.cpp.

159  : QObject(*new QActionGroupPrivate, parent)
160 {
161 }
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

◆ ~QActionGroup()

QActionGroup::~QActionGroup ( )

Destroys the action group.

Definition at line 166 of file qactiongroup.cpp.

167 {
168 }

Functions

◆ actions()

QList< QAction * > QActionGroup::actions ( ) const

Returns the list of this groups's actions.

This may be empty.

Definition at line 258 of file qactiongroup.cpp.

Referenced by QFileDialogPrivate::_q_showHeader(), and QmlJSDebugger::QmlToolBar::setAnimationSpeed().

259 {
260  Q_D(const QActionGroup);
261  return d->actions;
262 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ addAction() [1/3]

QAction * QActionGroup::addAction ( QAction action)

Adds the action to this group, and returns it.

Normally an action is added to a group by creating it with the group as its parent, so this function is not usually used.

See also
QAction::setActionGroup()

Definition at line 180 of file qactiongroup.cpp.

Referenced by QmlJSDebugger::QmlToolBar::QmlToolBar(), QMultiInputContext::QMultiInputContext(), and QAction::setActionGroup().

181 {
182  Q_D(QActionGroup);
183  if(!d->actions.contains(a)) {
184  d->actions.append(a);
185  QObject::connect(a, SIGNAL(triggered()), this, SLOT(_q_actionTriggered()));
186  QObject::connect(a, SIGNAL(changed()), this, SLOT(_q_actionChanged()));
187  QObject::connect(a, SIGNAL(hovered()), this, SLOT(_q_actionHovered()));
188  }
189  if(!a->d_func()->forceDisabled) {
190  a->setEnabled(d->enabled);
191  a->d_func()->forceDisabled = false;
192  }
193  if(!a->d_func()->forceInvisible) {
194  a->setVisible(d->visible);
195  a->d_func()->forceInvisible = false;
196  }
197  if(a->isChecked())
198  d->current = a;
199  QActionGroup *oldGroup = a->d_func()->group;
200  if(oldGroup != this) {
201  if (oldGroup)
202  oldGroup->removeAction(a);
203  a->d_func()->group = this;
204  }
205  return a;
206 }
double d
Definition: qnumeric_p.h:62
void hovered(QAction *)
This signal is emitted when the given action in the action group is highlighted by the user; for exam...
#define SLOT(a)
Definition: qobjectdefs.h:226
long ASN1_INTEGER_get ASN1_INTEGER * a
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57
#define SIGNAL(a)
Definition: qobjectdefs.h:227
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
void triggered(QAction *)
This signal is emitted when the given action in the action group is activated by the user; for exampl...

◆ addAction() [2/3]

QAction * QActionGroup::addAction ( const QString text)

Creates and returns an action with text.

The newly created action is a child of this action group.

Normally an action is added to a group by creating it with the group as parent, so this function is not usually used.

See also
QAction::setActionGroup()

Definition at line 217 of file qactiongroup.cpp.

218 {
219  return new QAction(text, this);
220 }
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64

◆ addAction() [3/3]

QAction * QActionGroup::addAction ( const QIcon icon,
const QString text 
)

Creates and returns an action with text and an icon.

The newly created action is a child of this action group.

Normally an action is added to a group by creating it with the group as its parent, so this function is not usually used.

See also
QAction::setActionGroup()

Definition at line 231 of file qactiongroup.cpp.

232 {
233  return new QAction(icon, text, this);
234 }
The QAction class provides an abstract user interface action that can be inserted into widgets...
Definition: qaction.h:64

◆ checkedAction()

QAction * QActionGroup::checkedAction ( ) const

Returns the currently checked action in the group, or 0 if none are checked.

Definition at line 335 of file qactiongroup.cpp.

336 {
337  Q_D(const QActionGroup);
338  return d->current;
339 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ hovered

void QActionGroup::hovered ( QAction action)
signal

This signal is emitted when the given action in the action group is highlighted by the user; for example, when the user pauses with the cursor over a menu option, toolbar button, or presses an action's shortcut key combination.

See also
QAction::activate()

Referenced by addAction(), and removeAction().

◆ isEnabled()

bool QActionGroup::isEnabled ( ) const

Definition at line 325 of file qactiongroup.cpp.

326 {
327  Q_D(const QActionGroup);
328  return d->enabled;
329 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ isExclusive()

bool QActionGroup::isExclusive ( ) const

Definition at line 284 of file qactiongroup.cpp.

Referenced by QMenu::initStyleOption(), and QMenuPrivate::QMacMenuPrivate::syncAction().

285 {
286  Q_D(const QActionGroup);
287  return d->exclusive;
288 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ isVisible()

bool QActionGroup::isVisible ( ) const

Definition at line 365 of file qactiongroup.cpp.

366 {
367  Q_D(const QActionGroup);
368  return d->visible;
369 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ removeAction()

void QActionGroup::removeAction ( QAction action)

Removes the action from this group.

The action will have no parent as a result.

See also
QAction::setActionGroup()

Definition at line 242 of file qactiongroup.cpp.

243 {
244  Q_D(QActionGroup);
245  if (d->actions.removeAll(action)) {
246  if (action == d->current)
247  d->current = 0;
248  QObject::disconnect(action, SIGNAL(triggered()), this, SLOT(_q_actionTriggered()));
249  QObject::disconnect(action, SIGNAL(changed()), this, SLOT(_q_actionChanged()));
250  QObject::disconnect(action, SIGNAL(hovered()), this, SLOT(_q_actionHovered()));
251  action->d_func()->group = 0;
252  }
253 }
double d
Definition: qnumeric_p.h:62
void hovered(QAction *)
This signal is emitted when the given action in the action group is highlighted by the user; for exam...
#define SLOT(a)
Definition: qobjectdefs.h:226
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57
#define SIGNAL(a)
Definition: qobjectdefs.h:227
void triggered(QAction *)
This signal is emitted when the given action in the action group is activated by the user; for exampl...
static bool disconnect(const QObject *sender, const char *signal, const QObject *receiver, const char *member)
Disconnects signal in object sender from method in object receiver.
Definition: qobject.cpp:2895

◆ selected

void QActionGroup::selected ( QAction action)
signal

Use triggered() instead.

◆ setDisabled

void QActionGroup::setDisabled ( bool  b)
inlineslot

This is a convenience function for the enabled property, that is useful for signals–slots connections.

If b is true the action group is disabled; otherwise it is enabled.

Definition at line 90 of file qactiongroup.h.

90 { setEnabled(!b); }
void setEnabled(bool)

◆ setEnabled

void QActionGroup::setEnabled ( bool  b)
slot

Definition at line 313 of file qactiongroup.cpp.

314 {
315  Q_D(QActionGroup);
316  d->enabled = b;
317  for(QList<QAction*>::const_iterator it = d->actions.constBegin(); it != d->actions.constEnd(); ++it) {
318  if(!(*it)->d_func()->forceDisabled) {
319  (*it)->setEnabled(b);
320  (*it)->d_func()->forceDisabled = false;
321  }
322  }
323 }
double d
Definition: qnumeric_p.h:62
#define it(className, varName)
The QList::const_iterator class provides an STL-style const iterator for QList and QQueue...
Definition: qlist.h:228
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ setExclusive

void QActionGroup::setExclusive ( bool  b)
slot

Definition at line 278 of file qactiongroup.cpp.

Referenced by QFileDialogPrivate::createWidgets(), and QmlJSDebugger::QmlToolBar::QmlToolBar().

279 {
280  Q_D(QActionGroup);
281  d->exclusive = b;
282 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57

◆ setVisible

void QActionGroup::setVisible ( bool  b)
slot

Definition at line 353 of file qactiongroup.cpp.

354 {
355  Q_D(QActionGroup);
356  d->visible = b;
357  for(QList<QAction*>::Iterator it = d->actions.begin(); it != d->actions.end(); ++it) {
358  if(!(*it)->d_func()->forceInvisible) {
359  (*it)->setVisible(b);
360  (*it)->d_func()->forceInvisible = false;
361  }
362  }
363 }
double d
Definition: qnumeric_p.h:62
#define it(className, varName)
#define Q_D(Class)
Definition: qglobal.h:2482
The QActionGroup class groups actions together.
Definition: qactiongroup.h:57
The QList::iterator class provides an STL-style non-const iterator for QList and QQueue.
Definition: qlist.h:181

◆ triggered

void QActionGroup::triggered ( QAction action)
signal

This signal is emitted when the given action in the action group is activated by the user; for example, when the user clicks a menu option, toolbar button, or presses an action's shortcut key combination.

Connect to this signal for command actions.

See also
QAction::activate()

Referenced by addAction(), and removeAction().

Properties

◆ enabled

QActionGroup::enabled
private

whether the action group is enabled

Each action in the group will be enabled or disabled unless it has been explicitly disabled.

See also
QAction::setEnabled()

Definition at line 63 of file qactiongroup.h.

◆ exclusive

QActionGroup::exclusive
private

whether the action group does exclusive checking

If exclusive is true, only one checkable action in the action group can ever be active at any time. If the user chooses another checkable action in the group, the one they chose becomes active and the one that was active becomes inactive.

See also
QAction::checkable

Definition at line 62 of file qactiongroup.h.

◆ visible

QActionGroup::visible
private

whether the action group is visible

Each action in the action group will match the visible state of this group unless it has been explicitly hidden.

See also
QAction::setEnabled()

Definition at line 64 of file qactiongroup.h.


The documentation for this class was generated from the following files: