了解Qt Creater小部件模板中ui_mainwindow.h的位置

Kar*_*rus 5 qt qt-creator

我正在使用Qt Creator编写第一个应用程序,并且已经加载了默认的小部件模板。在mainwindow.cpp,有线#include "ui_mainwindow.h"。但是,该文件尚不存在。编译代码后,我注意到ui_mainwindow.hbuild文件夹中有一个名为的文件。

请有人可以解释这里发生了什么吗?似乎有一个两阶段的构建过程,一个过程是构建用户界面文件(即ui_mainwindow.h),然后一个过程是构建实际程序。在这种情况下,如果将此头文件放在构建目录中,为什么#include "ui_mainwindow.h"而不是#include "../build/ui_mainwindow.h"

rat*_*eak 5

它是 ui 构建器在“uic.exe”解析您的.ui表单文件(您在主窗口中拖放小部件的位置)后创建的内容。还有其他工具可以预先解析头文件以创建moc_*.cpp包含信号和槽功能的文件。

它可以使用#include "ui_mainwindow.h",因为在编译期间构建工具将构建文件夹添加到包含目录中。并且构建目录可能会发生变化,例如您为发布构建选择另一个构建文件夹。