一、按钮类
、
从上到下依次为:
普通按钮(push button)头文件(QPushButton)
QT工具中最为普通且常见的控件,单击可以产生信号,可以与槽函数相连实现功能;
pt = new QPushButton("pt");//可以名称为【pt】生成简单的普通按钮
QVBoxLayout *vbox = new QVBoxLayout;//创建一个布局管理器
vbox->addWidget(pt);//将【pt】加入布局管理器
setLayout(vbox);//再将布局管理器放入基类
connect(pt,SIGNAL(clicked(bool)),this,SLOT(xxx()));//通过点击按钮,产生信号,连接基类中的某一个槽函数
工具按钮(tool button)头文件(QToolButton)
工具按钮基本功能与普通按钮类似,区别在于可以在按钮上实现图标功能。
注意:工具按钮在new的过程中,无法传入按钮名称,只能使用settext函数为按钮命名。
单选按钮(radio button) 头文件(QRadioButton)
在同一容器(基类)中,不同单选按钮的状态(True or False)是互斥的,适用于考试系统单选选项答案等,如下:
RB1 = new QRadioButton("RB1");
RB2 = new QRadioButton("RB2");
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(RB1);
vbox->addWidget(RB2);
setLayout(vbox);
复选按钮(check box) 头文件(QCheckButton)
与单选按钮相反,复选按钮的功能是每个按钮的之间的状态(True or False)互不相干,同样适用于考试系统的多选题选项等,如下:
CB1 = new QCheckBox("CB1");
CB2 = new QCheckBox("CB2");
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(CB1);
vbox->addWidget(CB2);
setLayout(vbox);
命令链接按钮(Command Link Button)头文件(QCommandLinkButton)
它的用途类似于单选按钮的用途,因为它用于在一组互斥选项之间进行选择,命令链接按钮不应单独使用,而应作为向导和对话框中单选按钮的替代选项,外观通常类似于平面按钮的外观,但除了普通按钮文本之外,它还允许描述性文本。
附件1:实现所有按键控件
1、头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QToolButton>
#include <QPushButton>
#include <QRadioButton>
#include <QCheckBox>
#include <QCommandLinkButton>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
QToolButton *tool;
QPushButton *pt;
QRadioButton *RB1;
QRadioButton *RB2;
QCheckBox *CB1;
QCheckBox *CB2;
QCommandLinkButton *CLB;
};
#endif // WIDGET_H
2、主函数
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
3、构造函数
#include "widget.h"
#include "ui_widget.h"
#include <QVBoxLayout>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
//ui->setupUi(this);
tool=new QToolButton;
tool->setText("工具按钮");
pt = new QPushButton("普通按钮");
RB1 = new QRadioButton("单选按钮1");
RB2 = new QRadioButton("单选按钮2");
CB1 = new QCheckBox("多选按钮2");
CB2 = new QCheckBox("多选按钮1");
CLB = new QCommandLinkButton("转到");
CLB->setDescription("www.baidu.com");
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(tool);
vbox->addWidget(pt);
vbox->addWidget(CB1);
vbox->addWidget(CB2);
vbox->addWidget(RB1);
vbox->addWidget(RB2);
vbox->addWidget(CLB);
setLayout(vbox);
}
Widget::~Widget()
{
delete ui;
}
编译运行,功能实现如下:
后续有遗漏再补充~,走过路过点个赞,小徐小徐,一条咸鱼。