新建的 qt 窗口类头文件下有个 namespace Ui 的声明,ctrl+左键点击 Widget 便跳转到 ui_widget,为什么可以跳转?在这里之前没有包含 ui_widget.h 啊?

1 345161974 Aug 31, 2019 via iPhone 这个 ui_xxx.cpp 是 Qt 根据 QML 布局文件自动生成的 UI 代码。你新建的窗体类继承了 ui_xxx,通过 ui_xxx 类的 setupUI 函数完成了界面布局的重用。 |
3 fcxfgh OP @345161974 主要不知道 qtcreator 在窗体类头文件没有包含 ui_xx.h 的情况下怎么找到 ui_xxx 下 namespace 的定义的,感觉是 qtcreator 对这里有特殊优化 |
4 fcxfgh OP 把 ui_xxx.h 内容清空结果也跳转过去了,也是醉了 |
5 BingoXuan Aug 31, 2019 via Android 如果用 cmake 构建你就知道了,qt 有工具将 ui 文件转换为 c++的头文件。然后 cmake 会将将生成文件目录 include 进去,就可以检索跳转了。 qmake 操作也一样,只是自动化且用户无感知而已 |