C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数
2014-05-07 23:36
561 查看
MyWidget做父窗体
MyWidget的构造函数中可以手动添加组件
Ui::MyWidget存放子部件
Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体
MyWidget只能调用构造函数中添加的组件
Ui::MyWidget只能调用UI文件中的子部件
Ui::MyWidget不是Wiget类,只是一个普通类,不能拿他做父窗体
测试:
1.新建GUI工程,主类MyWidget,UI上拖放一个Frame
以后都用Qt5了,省得汉字转码
2.-----mywidget.cpp-----
构造函数执行setupUi之前,frame指针还是null
构造函数执行setupUi后,frame指针指向了新的内存空间
MyWidget的构造函数中可以手动添加组件
Ui::MyWidget存放子部件
Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体
MyWidget只能调用构造函数中添加的组件
Ui::MyWidget只能调用UI文件中的子部件
Ui::MyWidget不是Wiget类,只是一个普通类,不能拿他做父窗体
测试:
1.新建GUI工程,主类MyWidget,UI上拖放一个Frame
以后都用Qt5了,省得汉字转码
2.-----mywidget.cpp-----
#include "mywidget.h" #include "ui_mywidget.h" #include <QPushButton> MyWidget::MyWidget(QWidget *parent) : QWidget(parent), ui(new Ui::MyWidget) { ui->frame = new QFrame(this); ui->frame->setFrameShape(QFrame::Box); QPushButton* btn1 = new QPushButton("胡芦包", ui->frame); ui->setupUi(this); QPushButton* btn2 = new QPushButton("木瓜酥", ui->frame); } MyWidget::~MyWidget() { delete ui; }
构造函数执行setupUi之前,frame指针还是null
构造函数执行setupUi后,frame指针指向了新的内存空间
相关文章推荐
- C,C++,C#,java,python编写简单的echo服务程序
- 线段树
- C++常用技巧一
- C++ 的cin只输入数字及只输入1、2的代码试验
- c++中ifstream一次读取整个文件
- C++返回引用类型 指针的引用(转载)
- C++Primer笔记
- 学习笔记---C++虚函数,纯虚函数
- C++快速分割字符串
- 《c++ Primer(第四版)》习题 9.41
- 《c++ Primer(第四版)》习题 9.40
- 《c++ Primer(第四版)》习题 9.38
- 《c++ Primer(第四版)》习题 9.36
- 《c++ Primer(第四版)》习题 9.35
- 《c++ Primer(第四版)》习题 9.34
- C++ 最长公共子序列
- 《c++ Primer(第四版)》习题 9.28
- C++ Primer(中文第五版)学习笔记
- 《c++ Primer(第四版)》习题9.27
- 《c++ Primer(第四版)》习题9.26