Qt工作笔记-qmake和uic(对Qt底层的进一步认识)
程序员文章站
2022-07-13 22:02:21
...
目录
背景
今天一大佬问了我个问题,就是uic程序编译ui生成.h文件后改怎么用!
当时我就有点蒙蔽了!
一般情况下来说,qmake会把ui文件生成.h文件,为什么会冒出一个uic程序。
还有,一般情况下,不是直接用一个类继承QWidget或QMainWindow或QDialog,里面有个头文件的对象,直接用就可以了。
为何会有这些问题呢?
原来那位大佬不太喜欢工具!
那位大佬想一步一步体验编译器帮开发者干的活。
大佬就是不一样。我也受教了,并且对Qt又有了进一步的认识;
以前的认识
在Windows上,本人通常是使用vs或者QtCreator去开发程序。基本上编译运行就可以了。
在Linux,部署好后,修改下pro文件,一个qmake再来个qmke,完事。
根本就不知道啥是uic。
当时任务qmake把ui文件转换问C++看得懂的文件。
而现在又有了进一步认识;
今天的认识
以前的认识并没有错,只是不够深;
qmake会去调用uic程序把ui文件转换为.h文件;
如下:
这个是QtCreator的编译输出。
下面来看看uic是什么:
User Interface Compiler (uic):用户界面编译
用Qt的Widgets模块去编译,可见qml并不再其中;uic读取ui文件,也就是xml文件,从而把他编译为C++看得懂的.h文件;
代码:
uic [options] <uifile>
uic程序的参数:
如果使用qmake,uic将被头文件自动包含,对应的Makefile文件如下:
ui_%.h: %.ui
uic $< -o aaa@qq.com