您的位置:首页 > 编程语言 > C语言/C++

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-----

#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指针指向了新的内存空间

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: