qt - 了解 ui_mainwindow.h 在 Qt Creator 小部件模板中的位置

标签 qt qt-creator

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

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

最佳答案

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

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

关于qt - 了解 ui_mainwindow.h 在 Qt Creator 小部件模板中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26548156/

相关文章:

windows - Windows 上的 PCSC-Lite 代码

c++ - 如何使用诺基亚 sdk 获取显示宽度和高度?

c++ - ubuntu下无法使用gdb进行调试

qt-creator - 在 QT Creator 中编译一个文件

qt - 我们如何从 QPushButton 中删除图标?

c++ - 从 Qt 资源加载 Csv 文件

c++ - Qt中的单例类问题

c++ - 我有多个通过 StackView 推送的 qml 文件。我如何将它们连接到 C++

c++ - Qt:文件名中的非 ASCII 字符被替换为 '?'

c++ - 从 C++ 向 QML 公开串口名称