Qt 界面中添加设计好的子页面
设计好的 Qt 子页面即是一个完整的 Qt 类,也相当于一个控件(比如一个 QWidget)
想要把这个设计好的子页面加入到某一个 Qt 的主页面使之成为一个组成部分,所涉及到的
问题就是如何使用这个类。
首先需要建立一个可以接收这些控件的“容器”
在这里使用 QGridLayout 当然也可以使用其它方式。
条件:有设计好的子页面,和可以接收这个子页面的容器(遵行 Qt 的原则,如 QWidget 内可
以放置新的 QWidget)
方法:
一:目标头文件操作
在要添加的页面头文件内建立一个 QGridLayout,代码如下:
private:
QGridLayout *gridLayout;
二:.ccp 文件操作
1 新建一个子页面控件
Form *widget;
下面把这个子页面添加到目标页内(现添加到主页面的 tab 内,当然也可以添加到其它的类
似 QWidget 内,方法:改 ui->tab 为你自己的目标容器)
2 为 QGridLayout 定义父对象
gridLayout = new QGridLayout(ui->tab);
3 定义布局内控件的默认间距
gridLayout->setSpacing(6);
4 定义布局在页面中的边缘距离
gridLayout->setContentsMargins(11, 11, 11, 11);
5 设置名称
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
6 新建立一个子页面
widget = new Form(ui->tab);
7 为子页面命名
widget->setObjectName(QString::fromUtf8("widget"));
8 把新建立的子页面添加到布局中
gridLayout->addWidget(widget, 0, 0, 1, 1);
这样就完成了添加工作。
在设置中经常会使用到某些功能相同的子布局(如串口设置),这时我们可以
做一个子布局,然后在使用到的地方直接添加即可。不用再次布局编写了。