QT开发流程

QT开发流程

1、申明必要的部件(头文件)

2、将部件构造出来(构造函数)

3、必要的布局(构造函数)

4、前后台关联(构造函数)

connect(ck, SIGNAL(toggled(bool)), this, SLOT(showpass(bool)));
//利用信号去激发自定义的一个槽函数

5、美化 

QT基础部件

一、按钮类

1、普通(QPushButton)

2、工具(QToolButton)

3、单选(QRadioButton)

4、复选(QCheckBox)

5、命令连接(QCommandLinkButton)

代码示例

在头文件中声明  
#include 
#include 
#include 
#include 
#include 
#include 
class Widget : public QWidget
{
    QPushButton *bt_button; //普通按钮
    QToolButton *bt_tool;   //工具按钮
    QRadioButton *bt_radio; //单选按钮
    QRadioButton *bt_radio1;//单选按钮
    QCheckBox *bt_check;    //复选按钮
    QCheckBox *bt_check1;   //复选按钮
    QCommandLinkButton *bt_cmd;//命令按钮
}
/**********在.cpp中new出来************************/
    bt_button = new QPushButton("普通按钮");
    bt_tool = new QToolButton;
    bt_tool->setText("工具按钮");

    bt_radio = new QRadioButton("单选按钮");
    bt_radio1 = new QRadioButton("单选按钮1");

    bt_check = new QCheckBox("复选框");
    bt_check1 = new QCheckBox("复选框1");

    bt_cmd = new QCommandLinkButton("百度");
    bt_cmd->setDescription("www.baidu.com");

二、布局类

1、水平(QHBoxLayout)

2、垂直(QVBoxLayout)

3、网格(QGridLayout)

三、输出类

1、标签(QPixmap)

文本标签,图片标签,动图标签

2、文本浏览器(QTextBrowser)

(.html超文本显示——网页)

3、日历(QCalendarWidget)

4、七段数码管(QLCDNumbe)

5、进度条  (QProgressBar)                            

四、输入类

1、行编辑框(QLineEdit)

2、组合框(下拉框)(QComboBox)

3、字体下拉框(QFontComboBox)

4、文本编辑框(QTextEdit)

5、自旋框(QSpinBox)

6、旋钮(QDial)

7、时间编辑框(QTimeEdit)

8、日期编辑框

9、滚动条(QScrollBar)

10、滑动杆(QSlider)

五、容器(将多个部件包在一起)

1、分组框(先布局管理在放入容器)(QGroupBox)

#include 
#include 
#include "widget.h"
#include 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    lb[0] = new QLabel("题目1 safasfasfasdf");
    rb[0] = new QRadioButton("aaaaa");
    rb[1] = new QRadioButton("bbbbb");
    rb[2] = new QRadioButton("ccccc");

    QVBoxLayout *vbox1 = new QVBoxLayout;
    vbox1->addWidget(lb[0]);
    vbox1->addWidget(rb[0]);
    vbox1->addWidget(rb[1]);
    vbox1->addWidget(rb[2]);

    g1 = new QGroupBox("AAAA");   //带边框显示和注释的容器
    g1->setLayout(vbox1);
///
    lb[1] = new QLabel("题目2 dhjdfdjdjfdjdfdjjjjfd");
    rb[3] = new QRadioButton("xxxxx");
    rb[4] = new QRadioButton("yyyyy");
    rb[5] = new QRadioButton("zzzzz");

    QVBoxLayout *vbox2 = new QVBoxLayout;
    vbox2->addWidget(lb[1]);
    vbox2->addWidget(rb[3]);
    vbox2->addWidget(rb[4]);
    vbox2->addWidget(rb[5]);

    g2 = new QGroupBox("BBBB");     //带边框显示和注释的容器
    g2->setLayout(vbox2);

    QVBoxLayout *vbox3 = new QVBoxLayout;
    vbox3->addWidget(g1);
    vbox3->addWidget(g2);
    setLayout(vbox3);

}

Widget::~Widget()
{

}

2、栈式窗口容器(QStackedWidget)

#include "widget.h"
#include 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    t1 = new QTextEdit("aaaaaaaaaaaaa");
    t2 = new QTextEdit("bbbbbbbbbbbbbbb");

    box = new QStackedWidget;    //构造一个栈容器
    box->addWidget(t1);  //插入一个新标签
    box->addWidget(t2); //插入一个新标签

    //测试
    cb = new QComboBox;
    cb->addItem("文本1");
    cb->addItem("文本2");

    connect(cb, SIGNAL(activated(int)), box, SLOT(setCurrentIndex(int)));

    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(cb);
    vbox->addWidget(box);
    setLayout(vbox);

}

Widget::~Widget()
{

}

3、滚动窗口(QScrollArea)

#include "widget.h"
#include 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    lb = new QLabel;
    lb->setPixmap(QPixmap("D:\\QT1\\Qt\\1.webp"));//图片路径
    lb->setScaledContents(true); //自动缩放显示
    //lb->setParent(this);

    ar = new QScrollArea; //滚动窗口容器
    ar->setWidget(lb);    //把标签放入容器
    //ar->setParent(this);

    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(ar);
    setLayout(vbox);
}

Widget::~Widget()
{

}

效果图

QT开发流程_第1张图片

4、工具箱容器(QToolBox)

#include "widget.h"
#include 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    t1 = new QTextEdit("aaaaaaaaaaaaa");
    t2 = new QTextEdit("bbbbbbbbbbbbbbb");

//    QVBoxLayout *vbox = new QVBoxLayout;
//    vbox->addWidget(t1);
//    vbox->addWidget(t2);
//    setLayout(vbox);
    box = new QToolBox;   //构造一个工具箱容器
    box->addItem(t1, "aaaaa"); //将文本编辑框装入工具箱
    box->addItem(t2, "bbbbb"); //将文本编辑框装入工具箱

    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(box);
    setLayout(vbox);
}

Widget::~Widget()
{

}

5、制表容器 (QTabWidget)

#include "widget.h"
#include 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    t1 = new QTextEdit("aaaaaaaaaaaaa");
    t2 = new QTextEdit("bbbbbbbbbbbbbbb");

    box = new QTabWidget;    //构造一个制表容器
    box->setTabsClosable(true);//显示关闭的按钮
    box->addTab(t1, "aaaa"); //插入一个新标签
    box->addTab(t2, "bbbb"); //插入一个新标签

    QVBoxLayout *vbox = new QVBoxLayout;
    vbox->addWidget(box);
    setLayout(vbox);

    connect(box, SIGNAL(tabCloseRequested(int)), this, SLOT(close_tab(int)));
}

Widget::~Widget()
{

}

你可能感兴趣的:(qt,开发语言)