Qt控件精讲一:按钮
原地址:http://blog.csdn.net/yuxikuo_1/article/details/17397109
Qt Creater提供6种Button控件。如图1。
Button控件介绍
控件类 | 控件名 | 中文名 |
QPushButton | PushButton | 推动按钮 |
QToolButton | ToolButton | 工具按钮 |
QRadioButton | RadioButton | 单选按钮 |
QCheckBox | CheckBox | 复选键 |
QCommandLinkButton | CommandLinkButton | 命令链接按钮 |
QButtonBox | ButtonBox | 按钮盒 |
1、PushButton控件
1)控件位置:Button->PushButton
2)控件介绍:该控件继承自QButton类,通常用于执行命令或触发事件。
3)控件属性设置选项:
(1)name:该控件对应源代码中的名字。
(2)text:该控件对应图形界面中显示的名字。
(3)font:设置text的字体。
(4)enabled:该控件是否可用。
4)常用成员函数:
(1)QPushButton::QPushButton(const QString &text,QWidget *parent,const char *name = 0);
构造一个名称为name,父对象为parent并且文本为text的推动按钮。
(2)void QButton::pressed()[信号]
当按下该按钮时发射信号。
(3)void QButton::clicked()[信号]
当单击该按钮时发射信号。
(4)void QButton::released()[信号]
当释放该按钮时,发射信号。
(5)void QButton::setText(const QString &)
设置该按钮上显示的文本。
(6)QString QButton::text()const
返回该按钮上显示的文本。
2、RadioButton控件
1)控件位置:Buttons->RadioButton
2)控件介绍:单选框,继承自QButton类,通常成组出现,用于提供两个或多个互斥选项。
3)控件属性设置选项:
(1)name:该控件对应源代码中所显示的名字。
(2)text:该控件对应图形界面中所显示的名字。
(3)font:设置text字体。
(4)enabled:该控件是否可用,可用为true,不可用为false。
(5)checked:用来设置或返回是否选中单选按钮,选中为true,未选中为false。
4)常用成员函数:
(1)QRaidoButton::QRadioButton(const QString &text,QWidget *parent,const char *name = 0)
构造一个名称为name、父对象为parent并且文本为text的单选按钮。
(2)bool QRadioButton::isChecked()const
返回是否选中单选按钮,选中时返回true,没有选中时返回false。
(3)void QButton::setText(const QString &)
设置该按钮上显示的文本。
(4)QString QButton::text()const
返回该按钮上显示的文本。
(5)void QButton::stateChanged(int state)[signal]
当更改checked属性值时,将发射信号。
(6)void QRadioButton::setChecked(bool check)[virtual slot]
设置单选按钮是否被选中为check。
3、CheckBox控件
1)控件位置:Buttons->CheckBox
2)控件介绍:复选框,继承自QButton,与RadioButton的区别是选则模式,单选框提供多选一,复选框提供多选多。
3)控件属性设置选项:
(1)name:该控件对应源代码中所显示的名字。
(2)text:该控件对应图形界面中所显示的名字。
(3)font:设置text字体。
(4)enabled:该控件是否可用,可用为true,不可用为false。
(5)checked:用来设置或返回是否选中单选按钮,选中为true,未选中为false。
4)常用成员函数:
(1)QCheckBox::QCheckBox(const QString &text,QWidget *parent,const char *name = 0)
构造一个名称为name、父对象为parent并且文本为text的复选框。
(2)QCheckBox::isChecked()const
选中该复选框,返回true,否则返回false。
(3)void QButton::setText(const QString &)
设置该按钮上显示的文本。
(4)QString QButton::text()const
返回该按钮上显示的文本。
(5)void QButton::stateChange(int state)[signal]
当更改checked属性时,将发射这个信号。
(6)void QCheckBox::setChecked(bool check)[槽]
设置复选框是否选中,状态为check的值。
4、ToolButton控件
1)控件位置:Buttons->ToolButton
2)控件介绍:工具按钮,继承自QButton类,是一种用于命令或者选项的可以快速访问的按钮,通常在ToolBar里面。工具按钮通常显示的是图标,而不是文本标签。ToolButton支持自动浮起。在自动浮起模式中,按钮只有在鼠标指向它的时候才绘制三维的框架。
3)控件设置选项:
(1)name:该控件对应源代码中的名称。
(2)text:工具按钮标签文本。
(3)font:设置工具按钮标签的字体。
(4)autoRaise:自动浮起是否生效。
(5)iconSet:提供显示在按钮上的图标的图标集。
(6)on:工具按钮是否为开。
(7)textLabel:工具按钮自动提示文本。
(8)usesTextLabel:自动提示文本textLabel是否工作,默认为false。
4)常用成员函数:
(1)QToolButton::QToolButton(QWidget *parent,const char *name = 0)
构造一个名字为name,父对象为parent的ToolButton。
(2)QToolButton::QToolButton(const QIconset &iconSet,const QString &textLabel,const QString &grouptext,QObject *receiver,const char *slot,QToolBar *parent,const char *name = 0)
构造一个名称为name,父对象为parent(必须为QToolBar)的工具按钮。工具按钮将显示iconSet,工具提示为textLabel,状态条信息为grouptext,同时会将工具按钮链接到receiver对象的槽函数。
(3)QToolBButton::QToolButton(ArrowType type,QWidget *parent,const char *name = 0)
此构造函数是把工具按钮构造成箭头按钮,type定义了箭头的方向,可用的值有LeftArrow、RightArrow、UpArrow、DownArrow。
(4)void QToolButton::setAutoRaise(bool enable)
根据参数enable值设置按钮是否可自动浮起。
(5)void QToolButton::setIcon(const QIconSet &)
设置显示在工具按钮上的图标。
(6)void QToolButton::setOn(bool enable)[虚槽]
设置按钮是否为开,enable等于true则设置为开,否则设置为关。
(7)void QToolButton::setTextLabel(const QString &)[槽]
设置按钮的提示标签。
(8)QString QToolButton::textLabel()const
返回按钮的提示标签。
5、CommandLinkButton控件
1)控件位置:Buttons->CommandLinkButton
2)控件介绍:命令链接按钮,继承自QPushButton,用于在互斥选项中选择一项,CommandLinkButton除带有正常的按钮上的文字描述文本外,默认情况下,它也将携带一个箭头图标,表明按下按钮将打开另一个窗口或页面。
3)控件属性设置选项:
(1)name:该控件对应源代码中的名称。
(2)text:该控件对应图形界面中所显示的标签。
(3)font:设置text的字体。
(4)enabled:该控件是否可用。
(5)description:一个描述性的标签,以配合按钮上的文字。
4)常用成员函数:
(1)QCommandLinkButton::QCommandLinkButton(QWidget *parent = 0)
构造一个父对象为parent的命令链接按钮。
(2)QCommandLinkButton::QCommandLinkButton(const QString &text,QWidget *parent = 0)
构造一个父对象为parent、文本为text的命令链接按钮。
(3)QCommandLinkButton::QCommandLinkButton(const QString &text,const QString &description,QWidget *parent = 0)
构造一个父对象为parent、文本为text和描述文本为description的命令链接按钮。
(4)void QButton::clicked()[信号]
当单击该按钮时,发射信号。
(5)void QButton::pressed()[信号]
当按下该按钮时,发射这个信号。
(6)void QButton::released()[信号]
当释放该按钮时,发射这个信号。
(7)void QButton::setText(const QString &)
设置改按钮上显示的文本。
(8)QString QButton::text()cosnt
返回按钮上显示的文本。
6、ButtonBox控件
1)控件位置:Buttons->ButtonBox
2)控件介绍:按钮键,室友QDialogButtonBox类包装成的。
3)控件属性设置选项:
(1)name:该控件对应源代码中的名称。
(2)font:设置text的字体。
(3)enabled:该控件是否可用。
(4)centerButtons:ButtonBox中的按钮是否居中布局,默认值为false。
(5)orientation:按钮布局方向,Qt提供QT::Horizontal和QT::Vertical两种。
(6)standardButtons:标准按钮集合。
4)常用成员函数:
(1)QDialogButtonBox::QDialogButtonBox(QWidget *parent = 0)
构造一个按钮盒,父对象为parent。
(2)QDialogButtonBox::QDialogButtonBox(QT::Orientation orientation,QWidget *parent = 0)
构造一个按钮盒,父对象为parent,排列方向为orientation,并且包含buttons。
(3)QDialogButtonBox::QDialogButtonBox(StandardButton buttons,QT::Orientation orientation = QT::Horizontal,QWidget *parent = 0)
构造一个按钮盒,父对象为parent,排列方向为orientation。
(4)void QDialogButtonBox::accepted()[signal]
当单击按钮盒里的定义为AcceptRole和YesRole的按钮时,发射信号。
(5)void QDialogButtonBox::addButton(QAbstractButton *button,ButtonRole role)
向按钮盒里添加按钮button,定义按钮button的角色为role,如果role是无效的,则不添加按钮,如果按钮已添加,移除并在次添加为新角色。
(6)QPushButton *QDialogButtonBox::addButton(StandarButton button)
向按钮盒中添加一个标准按钮button,并返回标准按钮。如果按钮无效,不添加,返回0.
(7)QPushButton *QDialogButtonBox::addButton(const QString &text,ButtonRole role)
创建一个按钮的文本为text,以指定角色添加到按钮盒,并返回相应的按钮,如果role是无效的,则不创建,返回0.
(8)void QDialogButtonBox::clear()
清空该按钮盒里的所有按钮。
(9)void QDialogButtonBox::clicked(QAbstractButton *button)[signal]
当单击按钮盒里的按钮button时,发射这个信号。
(10)void QDialogButtonBox::helpRequested()[signal]
当单击按钮盒里的定义为HelpRole的按钮时,发射这个信号。
(11)void QDialogButtonBox::rejected()[signal]
当单击按钮盒里定义为RejectRole和NoRole的按钮时,发射这个信号。
(12)void QDialogButtonBox::removeButton(QAbstractButton *button)
移除按钮盒里的按钮Button,但是不删除,设置它的父母为0.