QT基本空间详解及实例1(按钮类)

一、按钮类

从上到下依次为:

普通按钮(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;
}

编译运行,功能实现如下: 

 后续有遗漏再补充~,走过路过点个赞,小徐小徐,一条咸鱼。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值