QActionGroup(3qt)QActionGroup(3qt)NAMEQActionGroup - Groups actions together
SYNOPSIS
#include <qaction.h>
Inherits QAction.
Public Members
QActionGroup ( QObject * parent, const char * name = 0 )
QActionGroup ( QObject * parent, const char * name, bool exclusive )
~QActionGroup ()
void setExclusive ( bool )
bool isExclusive () const
void add ( QAction * action )
void addSeparator ()
virtual bool addTo ( QWidget * w )
void setUsesDropDown ( bool enable )
bool usesDropDown () const
void insert ( QAction * a ) (obsolete)
Signals
void selected ( QAction * )
Properties
bool exclusive - whether the action group does exclusive toggling
bool usesDropDown - whether the group's actions are displayed in a
subwidget of the widgets the action group is added to
DESCRIPTION
The QActionGroup class groups actions together.
In some situations it is useful to group actions together. For example,
if you have a left justify action, a right justify action and a center
action, only one of these actions should be active at any one time, and
one simple way of achieving this is to group the actions together in an
action group.
An action group can also be added to a menu or a toolbar as a single
unit, with all the actions within the action group appearing as
separate menu options and toolbar buttons.
Here's an example from examples/textedit:
QActionGroup *grp = new QActionGroup( this );
connect( grp, SIGNAL( selected( QAction* ) ), this, SLOT( textAlign( QAction* ) ) );
Here we create a new action group. Since the action group is exclusive
by default, only one of the actions in the group is ever active at any
one time. We then connect the group's selected() signal to our
textAlign() slot.
actionAlignLeft = new QAction( QPixmap::fromMimeSource( "textleft.xpm" ), tr( "&Left" ), CTRL + Key_L, grp, "textLeft" );
actionAlignLeft->setToggleAction( TRUE );
We create a left align action, add it to the toolbar and the menu and
make it a toggle action. We create center and right align actions in
exactly the same way.
The actions in an action group emit their activated() (and for toggle
actions, toggled()) signals as usual.
The setExclusive() function is used to ensure that only one action is
active at any one time: it should be used with actions which have their
toggleAction set to TRUE.
Action group actions appear as individual menu options and toolbar
buttons. For exclusive action groups use setUsesDropDown() to display
the actions in a subwidget of any widget the action group is added to.
For example, the actions would appear in a combobox in a toolbar or as
a submenu in a menu.
Actions can be added to an action group using add(), but normally they
are added by creating the action with the action group as parent.
Actions can have separators dividing them using addSeparator(). Action
groups are added to widgets with addTo().
See also Main Window and Related Classes and Basic Widgets.
MEMBER FUNCTION DOCUMENTATIONQActionGroup::QActionGroup ( QObject * parent, const char * name = 0 )
Constructs an action group called name, with parent parent.
The action group is exclusive by default. Call setExclusive(FALSE) to
make the action group non-exclusive.
QActionGroup::QActionGroup ( QObject * parent, const char * name, bool
exclusive )
Constructs an action group called name, with parent parent.
If exclusive is TRUE only one toggle action in the group will ever be
active.
See also exclusive.
QActionGroup::~QActionGroup ()
Destroys the object and frees allocated resources.
void QActionGroup::add ( QAction * action )
Adds action action to this 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 addTo().
void QActionGroup::addSeparator ()
Adds a separator to the group.
bool QActionGroup::addTo ( QWidget * w ) [virtual]
Adds this action group to the widget w.
If isExclusive() is FALSE or usesDropDown() is FALSE, the actions
within the group are added to the widget individually. For example, if
the widget is a menu, the actions will appear as individual menu
options, and if the widget is a toolbar, the actions will appear as
toolbar buttons.
If both isExclusive() and usesDropDown() are TRUE, the actions are
presented either in a combobox (if w is a toolbar) or in a submenu (if
w is a menu).
All actions should be added to the action group before the action group
is added to the widget. If actions are added to the action group after
the action group has been added to the widget these later actions will
not appear.
See also exclusive, usesDropDown, and removeFrom().
Example: themes/themes.cpp.
Reimplemented from QAction.
void QActionGroup::insert ( QAction * a )
This function is obsolete. It is provided to keep old source working.
We strongly advise against using it in new code.
Use add() instead, or better still create the action with the action
group as its parent.
bool QActionGroup::isExclusive () const
Returns TRUE if the action group does exclusive toggling; otherwise
returns FALSE. See the "exclusive" property for details.
void QActionGroup::selected ( QAction * ) [signal]
This signal is emitted from exclusive groups when toggle actions change
state.
The argument is the action whose state changed to "on".
See also exclusive, on, and QAction::toggled().
Examples:
void QActionGroup::setExclusive ( bool )
Sets whether the action group does exclusive toggling. See the
"exclusive" property for details.
void QActionGroup::setUsesDropDown ( bool enable )
Sets whether the group's actions are displayed in a subwidget of the
widgets the action group is added to to enable. See the "usesDropDown"
property for details.
bool QActionGroup::usesDropDown () const
Returns TRUE if the group's actions are displayed in a subwidget of the
widgets the action group is added to; otherwise returns FALSE. See the
"usesDropDown" property for details.
Property Documentation
bool exclusive
This property holds whether the action group does exclusive toggling.
If exclusive is TRUE only one toggle action in the action group can
ever be active at any one time. If the user chooses another toggle
action in the group the one they chose becomes active and the one that
was active becomes inactive.
See also QAction::toggleAction.
Set this property's value with setExclusive() and get this property's
value with isExclusive().
bool usesDropDown
This property holds whether the group's actions are displayed in a
subwidget of the widgets the action group is added to.
Exclusive action groups added to a toolbar display their actions in a
combobox with the action's QAction::text and QAction::iconSet
properties shown. Non-exclusive groups are represented by a tool button
showing their QAction::iconSet and -- depending on
QMainWindow::usesTextLabel()--text() property.
In a popup menu the member actions are displayed in a submenu.
Changing usesDropDown only affects subsequent calls to addTo().
Note that setting this property for actions in a combobox causes calls
to their QAction::setVisible(), QAction::setEnabled(), and
QAction::setDisabled() functions to have no effect.
This property's default is FALSE.
Set this property's value with setUsesDropDown() and get this
property's value with usesDropDown().
SEE ALSO
http://doc.trolltech.com/qactiongroup.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html. Good bug reports help us to
help you. Thank you.
The definitive Qt documentation is provided in HTML format; it is
located at $QTDIR/doc/html and can be read using Qt Assistant or with a
web browser. This man page is provided as a convenience for those users
who prefer man pages, although this format is not officially supported
by Trolltech.
If you find errors in this manual page, please report them to qt-
bugs@trolltech.com. Please include the name of the manual page
(qactiongroup.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QActionGroup(3qt)