我正在用Qt Creator编写我的第一个应用程序,并且我已经加载了默认的小部件模板。在mainwindow.cpp
中,有一行#include "ui_mainwindow.h"
。但是,此文件尚不存在。编译代码后,我注意到构建文件夹中有一个名为ui_mainwindow.h
的文件。
有人可以解释这里发生了什么吗?似乎可能存在两阶段构建过程,一个用于构建用户界面文件(即ui_mainwindow.h
),然后用于构建实际程序。在这种情况下,如果此头文件放在构建目录中,为什么它是#include "ui_mainwindow.h"
而不是#include "../build/ui_mainwindow.h"
?
答案 0 :(得分:4)
ui构建器在“uic.exe”解析您的.ui
表单文件(您在主窗口中拖放小部件后)创建的内容。还有其他工具可以解析头文件以创建保存信号和插槽功能的moc_*.cpp
文件。
它可以使用#include "ui_mainwindow.h"
,因为在编译期间,构建工具会将构建文件夹添加到include目录中。并且构建目录可能会更改,例如您为发布版本选择另一个构建文件夹。