qt的最开始界面的组成:
- 首先他是根据我们设计的界面生成一个ui_mainwindow.h文件里面定义了Ui_MainWindow类,这个类中有个最主要的函数就是setupUi()。
- 同样在ui_mainwindow.h文件中,可以看见还定义了一个MainWindow类来继承上面的h文件里面定义了Ui_MainWindow类,这应该是Qt想让我们更容易理解,他把有些名字给做成一样的了。(但是更显的乱)
- 接下来看mainwindow.h文件,这个是我们主要写文件,可以看见在这里定义了一个Ui::MainWindow *ui变指针,这个ui我们写界面经常会用到,下面说了其中原理。
- 可以看出在MainWindow的构造函数中,这里初始化了ui指针指向了一个Ui::MainWindow对象,这个就是在第二步中介绍的那个。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
- 然后可以看见ui调用了一个setupUi函数,并切我MainWindow自己传进去了作为参数,在setupUi函数中就是对我们的MainWindow对象进行各种界面设计,这里其实就是把MainWindow对象设置为我们在Design中设计的那样。
- 总结就是我们在Design中设计界面,QtCreator为我们生成了setupUi函数,该函数可以将传进去的对象指针设置成和我们在Design设计的一样的界面,这样就给我们一种错觉,是我们直接对我们的界面类进行了设计。