Hello Qt(七)——QT按钮组件
一、QPushButton组件1、QPushButton组件简介QPushButton组件用于接受用户点击事件,能够显示提示字符串,是功能性组件,需要父组件作为容器,能够在父组件中进行定位,用于执行命令或触发事件。QPushButton的类继承如下:QPushButton :public QAbstractButton :pubic QWidget :public QObject, public
一、QPushButton组件
1、QPushButton组件简介
QPushButton组件用于接受用户点击事件,能够显示提示字符串,是功能性组件,需要父组件作为容器,能够在父组件中进行定位,用于执行命令或触发事件。
QPushButton的类继承如下:
QPushButton :public QAbstractButton :pubic QWidget :public QObject, public QPaintDevice
2、QPushButton组件属性
QPushButton 组件属性设置选项:
A、name:组件对应源代码中的名字。
B、text:组件对应图形界面中显示的名字。
C、font:设置text的字体。
D、enabled:组件是否可用。
3、QPushButton组件常用成员函数
QPushButton(const QString &text,QWidget *parent,const char *name = 0);
构造一个名称为name,父对象为parent并且文本为text的按压按钮。
void QAbstractButton::setText(const QString &)
设置按钮上显示的文本。
QString QAbstractButton::text() const
返回按钮上显示的文本。
void QAbstractButton::pressed() [signal]
当按下按钮时,发射信号。
void QAbstractButton::clicked() [signal]
当单击按钮时,发射信号。
void QAbstractButton::released() [signal]
当释放按钮时,发射信号。
4、QPushButton实例
QPushButton *button = new QPushButton("OK", this);
connect(button, SIGNAL(clicked()), this, SLOT(onOK()));
二、QRadioButton组件
1、QRaidoButton组件简介
QRaidoButton单选按钮,用于提供两个或多个互斥选项。
2、QRaidoButton组件属性
QRaidoButton单选按钮属性设置选项:
A、name:组件对应源代码中所显示的名字。
B、text:组件对应图形界面中所显示的名字。
C、font:设置text字体。
D、enabled:组件是否可用,可用为true,不可用为false。
E、checked:用来设置或返回是否选中单选按钮,选中为true,未选中为false。
3、QRaidoButton组件常用成员函数:
QRadioButton(const QString &text,QWidget *parent,const char *name = 0)
构造一个名称为name、父对象为parent并且文本为text的单选按钮。
bool QRadioButton::isChecked() const
返回是否选中单选按钮,选中时返回true,没有选中时返回false。
void QAbstractButton::setText(const QString &)
设置组件上显示的文本。
QString QAbstractButton::text() const
返回该按钮上显示的文本。
void QAbstractButton::stateChanged(int state) [signal]
当更改checked属性值时,将发射信号。
void QRadioButton::setChecked(bool check) [virtual slot]
设置单选按钮是否被选中为checked。
4、QRadioButton实例
Widget.h文件:
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QButtonGroup>
#include <QRadioButton>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QButtonGroup *group;
QRadioButton *appleradio;
QRadioButton *bananaradio;
QRadioButton *pearradio;
public slots:
void onRadioClick();
};
#endif // WIDGET_H
Widget.cpp文件:
#include "widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent):QWidget(parent)
{
group = new QButtonGroup(this);
appleradio = new QRadioButton("apple", this);
appleradio->move(5, 5);
bananaradio = new QRadioButton("banana", this);
bananaradio->move(5, 25);
pearradio = new QRadioButton("pear", this);
pearradio->move(5, 50);
group->addButton(appleradio, 0);
group->addButton(bananaradio, 1);
group->addButton(pearradio, 2);
appleradio->setChecked(true);
//多个QRadioButton连接到onRadioClick()
connect(appleradio, SIGNAL(clicked()), this, SLOT(onRadioClick()));
connect(bananaradio, SIGNAL(clicked()), this, SLOT(onRadioClick()));
connect(pearradio, SIGNAL(clicked()), this, SLOT(onRadioClick()));
}
Widget::~Widget()
{
}
void Widget::onRadioClick()
{
switch(group->checkedId())
{
case 0:
qDebug() << "apple";
break;
case 1:
qDebug() << "banana";
break;
case 2:
qDebug() << "pear";
break;
}
}
Main.cpp文件:
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QButtonGroup group;
Widget w;
w.show();
return a.exec();
}
三、QCheckBox组件
1、QCheckBox组件简介
QCheckBox复选框,复选框提供多选多。
QCheckBox有三种状态:checked、unchecked和PartiallyChecked。
2、QCheckBox组件属性
QCheckBox复选框属性设置选项:
A、name:组件对应源代码中所显示的名字。
B、text:组件对应图形界面中所显示的名字。
C、font:设置text字体。
D、enabled:组件是否可用,可用为true,不可用为false。
E、checked:用来设置或返回是否选中单选按钮,选中为true,未选中为false。
3、QCheckBox组件常用成员函数
QCheckBox(const QString &text,QWidget *parent,const char *name = 0)
构造一个名称为name、父对象为parent并且文本为text的复选框。
bool isChecked() const
选中复选框,返回true,否则返回false。
void QAbstractButton::setText(const QString &)
设置组件上显示的文本。
QString QAbstractButton::text() const
返回组件上显示的文本。
void QAbstractButton::stateChange(int state) [signal]
当更改checked属性时,将发射这个信号。
void QCheckBox::setChecked(bool check) [slot]
设置复选框是否选中,状态为check的值。
4、QCheckBox实例
#include <QtGui/QApplication>
#include <QWidget>
#include <QCheckBox>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QVBoxLayout *vlayout = new QVBoxLayout(&w);
QCheckBox *check1 = new QCheckBox("check1", &w);
QCheckBox *check2 = new QCheckBox("check2", &w);
QCheckBox *check3 = new QCheckBox("check3", &w);
vlayout->addWidget(check1);
vlayout->addWidget(check2);
vlayout->addWidget(check3);
w.setLayout(vlayout);
w.show();
return a.exec();
}
四、QToolButton组件
1、QToolButton组件简介
QToolButton工具按钮,是一种用于命令或者选项的可以快速访问的按钮,通常在ToolBar里面。工具按钮通常显示的是图标,而不是文本标签。ToolButton支持自动浮起。在自动浮起模式中,按钮只有在鼠标指向它的时候才绘制三维的框架。
2、QToolButton组件属性
QToolButton工具按钮设置选项:
A、name:组件对应源代码中的名称。
B、text:工具按钮标签文本。
C、font:设置工具按钮标签的字体。
D、autoRaise:自动浮起是否生效。
E、iconSet:提供显示在按钮上的图标的图标集。
F、on:工具按钮是否为开。
G、textLabel:工具按钮自动提示文本。
H、usesTextLabel:自动提示文本textLabel是否工作,默认为false。
3、QToolButton组件常用成员函数
QToolButton(QWidget *parent,const char *name = 0)
构造一个名字为name,父对象为parent的ToolButton。
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对象的槽函数。
QToolButton(ArrowType type,QWidget *parent,const char *name = 0)
把工具按钮构造成箭头按钮,type定义了箭头的方向,可用的值有LeftArrow、RightArrow、UpArrow、DownArrow。
void setAutoRaise(bool enable)
根据参数enable值设置按钮是否可自动浮起。
void setIcon(const QIconSet &)
设置显示在工具按钮上的图标。
void setOn(bool enable) [virtual slot]
设置按钮是否为开,enable等于true则设置为开,否则设置为关。
void setTextLabel(const QString &) [slot]
设置按钮的提示标签。
QString textLabel() const
返回按钮的提示标签。
void setToolButtonStyle(Qt::ToolButtonStyle style)
设置ToolButton的样式,有下列样式:
Qt::ToolButtonIconOnly 只显示图标
Qt::ToolButtonTextOnly 只显示文字
Qt::ToolButtonTextBesideIcon 文字显示在图标旁
Qt::ToolButtonTextUnderIcon 文字显示在图标下
Qt::ToolButtonFollowStyle 根据QStyle::StyleHint进行设置
void setPopupMode(ToolButtonPopupMode mode)
设置ToolButton的菜单弹出方式ToolButtonPopupMode,弹出方式如下: QToolButton::DelayedPopup 延迟弹出
QToolButton::MenuButtonPopup 菜单弹出
QToolButton::InstantPopup 点击立即弹出
4、QToolButton实例
#include <QtGui/QApplication>
#include <QWidget>
#include <QToolButton>
#include <QMenu>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QToolButton *toolbutton = new QToolButton(&w);
toolbutton->setText("ToolButton");
QMenu *menu = new QMenu();
menu->addMenu("1");
menu->addMenu("2");
menu->addMenu("3");
toolbutton->setToolButtonStyle(Qt::ToolButtonTextOnly);
toolbutton->setPopupMode(QToolButton::InstantPopup );
toolbutton->setMenu(menu);
w.show();
return a.exec();
}
五、QCommandLinkButton组件
1、QCommandLinkButton组件简介
QCommandLinkButton命令链接按钮,继承自QPushButton,用于在互斥选项中选择一项,QCommandLinkButton除带有正常的按钮上的文字描述文本外,默认情况下,将携带一个箭头图标,表明按下按钮将打开另一个窗口或页面。
2、QCommandLinkButton组件属性
QCommandLinkButton组件属性设置选项:
A、name:组件对应源代码中的名称。
B、text:组件对应图形界面中所显示的标签。
C、font:设置text的字体。
D、enabled:组件是否可用。
E、description:一个描述性的标签,以配合按钮上的文字。
3、QCommandLinkButton组件常用成员函数
QCommandLinkButton(QWidget *parent = 0)
构造一个父对象为parent的命令链接按钮。
QCommandLinkButton(const QString &text,QWidget *parent = 0)
构造一个父对象为parent、文本为text的命令链接按钮。
QCommandLinkButton(const QString &text,const QString &description,
QWidget *parent = 0)
构造一个父对象为parent、文本为text和描述文本为description的命令链接按钮。
void QButton::clicked() [signal]
当单击该按钮时,发射信号。
void QButton::pressed() [signal]
当按下该按钮时,发射这个信号。
void QButton::released() [signal]
当释放该按钮时,发射这个信号。
void QButton::setText(const QString &)
设置改按钮上显示的文本。
QString QButton::text() cosnt
返回按钮上显示的文本。
六、QDialogButtonBox组件
1、QDialogButtonBox组件简介
QDialogButtonBox按钮盒,可以快速地布置一组按钮,有水平和垂直样式。
2、QDialogButtonBox组件属性
QDialogButtonBox组件属性设置选项:
A、name:该控件对应源代码中的名称。
B、font:设置text的字体。
C、enabled:该控件是否可用。
D、centerButtons:ButtonBox中的按钮是否居中布局,默认值为false。
E、orientation:按钮布局方向,Qt提供QT::Horizontal和QT::Vertical两种。
F、standardButtons:标准按钮集合。
QDialogButtonBox::Ok
QDialogButtonBox::Open
QDialogButtonBox::Save
QDialogButtonBox::Cancel
QDialogButtonBox::Close
QDialogButtonBox::Discard
QDialogButtonBox::Apply
QDialogButtonBox::Reset
QDialogButtonBox::RestoreDefaults
QDialogButtonBox::Help
QDialogButtonBox::SaveAll
QDialogButtonBox::Yes
QDialogButtonBox::YesToAll
QDialogButtonBox::No
QDialogButtonBox::NoToAll
QDialogButtonBox::Abort
QDialogButtonBox::Retry
QDialogButtonBox::Ignore
QDialogButtonBox::NoButton
3、QDialogButtonBox组件常用成员函数
QDialogButtonBox组件常用成员函数:
QDialogButtonBox(QWidget *parent = 0)
构造一个按钮盒,父对象为parent。
QDialogButtonBox(QT::Orientation orientation,QWidget *parent = 0)
构造一个按钮盒,父对象为parent,排列方向为orientation,并且包含buttons。
QDialogButtonBox(StandardButton buttons,QT::Orientation orientation = QT::Horizontal,
QWidget *parent = 0)
构造一个按钮盒,父对象为parent,排列方向为orientation。
void QDialogButtonBox::accepted() [signal]
当单击按钮盒里的定义为AcceptRole和YesRole的按钮时,发射信号。
void QDialogButtonBox::addButton(QAbstractButton *button,ButtonRole role)
向按钮盒里添加按钮button,定义按钮button的角色为role,如果role是无效的,则不添加按钮,如果按钮已添加,移除并在次添加为新角色。
QPushButton *QDialogButtonBox::addButton(StandarButton button)
向按钮盒中添加一个标准按钮button,并返回标准按钮。如果按钮无效,不添加,返回0.
QPushButton *QDialogButtonBox::addButton(const QString &text,ButtonRole role)
创建一个按钮的文本为text,以指定角色添加到按钮盒,并返回相应的按钮,如果role是无效的,则不创建,返回0.
void QDialogButtonBox::clear()
清空按钮盒里的所有按钮。
void QDialogButtonBox::clicked(QAbstractButton *button) [signal]
当单击按钮盒里的按钮button时,发射这个信号。
void QDialogButtonBox::helpRequested() [signal]
当单击按钮盒里的定义为HelpRole的按钮时,发射这个信号。
void QDialogButtonBox::rejected() [signal]
当单击按钮盒里定义为RejectRole和NoRole的按钮时,发射这个信号。
void QDialogButtonBox::removeButton(QAbstractButton *button)
移除按钮盒里的按钮Button,但是不删除,设置它的父母为0
void setStandardButtons(StandardButtons buttons)
设置按钮盒中的按钮,使用|设置多个按钮。
void setOrientation(Qt::Orientation orientation)
设置按钮盒的样式,分为垂直和水平样式
QPushButton * button(StandardButton which) const
根据StandardButton返回按钮盒中的按钮
4、QDialogButtonBox实例
#include <QtGui/QApplication>
#include <QDialogButtonBox>
#include <QPushButton>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QDialogButtonBox *button = new QDialogButtonBox(&w);
button->setStandardButtons(QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
button->button(QDialogButtonBox::Apply)->setText("apply");
w.show();
return a.exec();
}
更多推荐
所有评论(0)