主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
QButtonGroup类参考
QButtonGroup窗口部件把QButton窗口部件组织在一个组中。 详情请见……
#include <qbuttongroup.h>
继承了QGroupBox。
被QHButtonGroup和QVButtonGroup继承。
公有成员
- QButtonGroup ( QWidget * parent = 0, const char * name = 0 )
- QButtonGroup ( const QString & title, QWidget * parent = 0, const char * name = 0 )
- QButtonGroup ( int strips, Orientation orientation, QWidget * parent = 0, const char * name = 0 )
- QButtonGroup ( int strips, Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 )
- bool isExclusive () const
- bool isRadioButtonExclusive () const
- virtual void setExclusive ( bool )
- virtual void setRadioButtonExclusive ( bool )
- int insert ( QButton * button, int id = -1 )
- void remove ( QButton * button )
- QButton * find ( int id ) const
- int id ( QButton * button ) const
- int count () const
- virtual void setButton ( int id )
- virtual void moveFocus ( int key )
- QButton * selected () const
信号
属性
- bool exclusive - 按钮组是否互斥
- bool radioButtonExclusive - 组中的单选按钮是否互斥
详细描述
QButtonGroup窗口部件把QButton窗口部件组织在一个组中。
按钮组窗口部件使处理一组按钮变得很容易。按钮组中的每一个按钮都有一个唯一的标识。当按钮组中的按钮被点击时,按钮组会发射一个带有这个按钮标识的clicked()信号。当你有一个相近的按钮并且你想把它们的clicked()信号连接到一个槽时,上述的信号是按钮组在这方面很有用处。
互斥(exclusive)的按钮组会把所有的切换按钮关闭,除了那个被点击的。按钮组默认是不互斥的。默认情况下,尽管按钮组不是互斥的,但被插入到这个按钮组的所有单选按钮都变为互斥的。(请参考setRadioButtonExclusive()。)
这里有两个使用按钮组的方法:
- 按钮组是一组按钮的父窗口部件,也就是按钮组是按钮构造函数中的parent参数。按钮被按照它们被创建的顺序分配0、1、2等标识。QButtonGroup可以显示一个框架和一个标题,因为它继承了QGroupBox。
- 按钮组是一个不可见的窗口部件并且被包含的按钮有其它父窗口部件。一个按钮必须使用一个有标识的insert()来被手工插入到按钮组中。
按钮可以使用remove()从组中被移除。可以使用一个包含给定标识的find()来获得一个按钮的指针。使用id()可以得到一个按钮的标识。按钮可以通过setButton()被设置为打开。count()可以返回组中的按钮数。
也可以参考QButton、QPushButton、QCheckBox、QRadioButton、窗口部件外观和风格、布局管理和组织者。
成员函数文档
QButtonGroup::QButtonGroup ( QWidget * parent = 0, const char * name = 0 )
构造一个没有标题的按钮组。parent和name参数被传递给QWidget构造函数。
QButtonGroup::QButtonGroup ( const QString & title, QWidget * parent = 0, const char * name = 0 )
构造一个标题为title的按钮组。parent和name参数被传递给QWidget构造函数。
QButtonGroup::QButtonGroup ( int strips, Orientation orientation, QWidget * parent = 0, const char * name = 0 )
构造一个没有标题的按钮组。子窗口部件会被排列在strips列或者行中(依赖orientation)。parent和name参数被传递给QWidget构造函数。
QButtonGroup::QButtonGroup ( int strips, Orientation orientation, const QString & title, QWidget * parent = 0, const char * name = 0 )
构造一个标题为title的按钮组。子窗口部件会被排列在strips列或者行中(依赖orientation)。parent和name参数被传递给QWidget构造函数。
void QButtonGroup::clicked ( int id ) [信号]
当组中的按钮被点击时,这个信号被发射。id参数是按钮的标识符。
也可以参考QButton::clicked()和insert()。
实例:drawdemo/drawdemo.cpp和xform/xform.cpp。
int QButtonGroup::count () const
返回组中的按钮数。QButton * QButtonGroup::find ( int id ) const
找到并返回一个标识为id的按钮的指针。如果这个按钮没有被找到,返回零。
int QButtonGroup::id ( QButton * button ) const
返回button的标识,或者如果button不是这个组的成员,返回-1。int QButtonGroup::insert ( QButton * button, int id = -1 )
把标识为id的button插入到按钮组中。返回按钮的标识。按钮通常是在被创建的时候把按钮组作为父对象,然后会被自动插入到按钮组中的。所以如果按钮的父对象是这个按钮组的话,就不需要手工插入了。一个例外就是当你想自己定义标识来代替默认的0、1、2等等。
按钮会被指定标识为id或者一个自动生成的标识。它是这样工作的:如果id >= 0,这个标识被指定。如果id == -1(默认),标识等于这个按钮组中的按钮数。如果id是其它负整数,比如-2,一个唯一的标识(这个负整数 <= -2)被生成。没有按钮的标识为-1。
也可以参考find(), remove()和exclusive。
实例:listbox/listbox.cpp和xform/xform.cpp。
bool QButtonGroup::isExclusive () const
如果按钮组互斥,返回真,否则返回假。详细情况请参考“exclusive”属性。
bool QButtonGroup::isRadioButtonExclusive () const
如果组中的单选按钮互斥,返回真,否则返回假。详细情况请参考“radioButtonExclusive”属性。
void QButtonGroup::moveFocus ( int key ) [虚]
根据key移动键盘焦点,并且如果适当,选中新的焦点项。除非键盘焦点指向一个按钮组的成员并且key是Key_Up、Key_Down、Key_Left和Key_Right之一,否则这个函数什么都不执行。
void QButtonGroup::pressed ( int id ) [信号]
当组中的按钮被按下(pressed)时,这个信号被发射。id参数是按钮的标识。void QButtonGroup::released ( int id ) [信号]
当组中的按钮被释放(released)时,这个信号被发射。id参数是按钮的标识。void QButtonGroup::remove ( QButton * button )
从按钮组中移除button。也可以参考insert()。
QButton * QButtonGroup::selected () const
如果真好有一个切换按钮被选择了,返回它的指针,否则返回0。void QButtonGroup::setButton ( int id ) [虚]
设置标识为id的按钮为打开,如果这是一个互斥组,组中的所有其它按钮将被设置为关闭。void QButtonGroup::setExclusive ( bool ) [虚]
设置按钮组是否互斥。详细情况请参考“exclusive”属性。
void QButtonGroup::setRadioButtonExclusive ( bool ) [虚]
设置组中的单选按钮是否互斥。详细情况请参考“radioButtonExclusive”属性。
属性文档
bool exclusive
这个属性保存的是按钮组是否互斥。
如果这个值为真,那么组中的按钮是被切换的,并且如果要取消一个按钮的选择,你必须点击组中的另一个按钮。默认为假。
通过setExclusive()设置属性值并且通过isExclusive()来获得属性值。
bool radioButtonExclusive
这个属性保存的是组中的单选按钮是否互斥。
如果这个属性为真(默认),组中的单选按钮被处理为互斥的。
通过setRadioButtonExclusive()设置属性值并且通过isRadioButtonExclusive()来获得属性值。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|