文章目录
QT容器
一、Tab Widget 的使用
1.建立项目
2.修改项目中的widget.h 文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QTabWidget> //表头文件
#include <QTextEdit>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QTabWidget *tw;
QTextEdit *te1,*te2,*te3;
};
#endif // WIDGET_H
3.修改项目中widget.cpp文件
#include "widget.h"
#include <QVBoxLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
tw = new QTabWidget;
te1 = new QTextEdit("qqqqqqqqq");
te2 = new QTextEdit("wwwwwwwww");
te3 = new QTextEdit("eeeeeeeee");
tw->addTab(te1,"1.c");
tw->addTab(te2,"2.c");
tw->addTab(te3,"3.c");
QVBoxLayout *mainbox = new QVBoxLayout;
mainbox ->addWidget(tw);
this->setLayout(mainbox);
}
Widget::~Widget()
{
}
4.运行结果
二、Stacked Widget 的使用
1.建立项目
2.修改项目中的widget.h 文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QStackedWidget> //栈式窗口头文件
#include <QTextEdit>
#include <QComboBox> //标准输入框头文件
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QStackedWidget *sw;
QTextEdit *te1,*te2,*te3;
QComboBox *cb;
};
#endif // WIDGET_H
3.修改项目中widget.cpp文件
#include "widget.h"
#include <QVBoxLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
sw = new QStackedWidget;
te1 = new QTextEdit("11111");
te2 = new QTextEdit("22222");
te3 = new QTextEdit("33333");
sw->addWidget(te1);
sw->addWidget(te2);
sw->addWidget(te3);
//添加一个组合框 便与切换窗口
cb = new QComboBox;
cb->addItem("aaa");
cb->addItem("bbb");
cb->addItem("ccc");
QVBoxLayout *mainbox = new QVBoxLayout;
mainbox ->addWidget(sw);
mainbox ->addWidget(cb);
this->setLayout(mainbox);
//通过信号与槽绑定
connect(cb,SIGNAL(activated(int)),sw,SLOT(setCurrentIndex(int))); //setCurrentIndex 设置本次当前显示的标号
}
Widget::~Widget()
{
}
4.运行结果
总结
每种容器有各自的特点,根据不同的需求使用相应的容器,各种容器间可以相互使用,来完成更好的需求。