C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

  1. MyWidget做父窗体
  2. MyWidget的构造函数中可以手动添加组件
  3. Ui::MyWidget存放子部件
  4. Ui::MyWidget执行setupUi()函数为子部件开辟空间,指定父窗体
  5. MyWidget只能调用构造函数中添加的组件
  6. Ui::MyWidget只能调用UI文件中的子部件
  7. Ui::MyWidget不是Wiget类,只是一个普通类,不能拿他做父窗体

测试:
1.新建GUI工程,主类MyWidget,UI上拖放一个Frame

以后都用Qt5了,省得汉字转码

C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数
2.-----mywidget.cpp-----

C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数
 1 #include "mywidget.h"
 2 #include "ui_mywidget.h"
 3 #include <QPushButton>
 4 
 5 MyWidget::MyWidget(QWidget *parent) :
 6     QWidget(parent),
 7     ui(new Ui::MyWidget)
 8 {
 9     ui->frame = new QFrame(this);
10     ui->frame->setFrameShape(QFrame::Box);
11     QPushButton* btn1 = new QPushButton("胡芦包", ui->frame);
12     ui->setupUi(this);
13     QPushButton* btn2 = new QPushButton("木瓜酥", ui->frame);
14 }
15 
16 MyWidget::~MyWidget()
17 {
18     delete ui;
19 }
C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

构造函数执行setupUi之前,frame指针还是null

构造函数执行setupUi后,frame指针指向了新的内存空间

C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数,布布扣,bubuko.com

C/C++ -- Gui编程 -- Qt库的使用 -- 理解主窗体构造函数

上一篇:Servlet和SpringMVC补课


下一篇:java web项目基础