Qt & C++小白求教

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

1590 次点击
所在节点    问与答
5 条回复
345161974
2019-08-31 17:12:38 +08:00
这个 ui_xxx.cpp 是 Qt 根据 QML 布局文件自动生成的 UI 代码。你新建的窗体类继承了 ui_xxx,通过 ui_xxx 类的 setupUI 函数完成了界面布局的重用。
fcxfgh
2019-08-31 18:09:45 +08:00
@345161974
窗体类没有继承 ui_xxx 吧,是在窗体类构造函数用 ui_xxx 对象初始化了*ui 指针
fcxfgh
2019-08-31 18:15:06 +08:00
@345161974
主要不知道 qtcreator 在窗体类头文件没有包含 ui_xxx.h 的情况下怎么找到 ui_xxx 下 namespace 的定义的,感觉是 qtcreator 对这里有特殊优化
fcxfgh
2019-08-31 18:34:14 +08:00
把 ui_xxx.h 内容清空结果也跳转过去了,也是醉了
BingoXuan
2019-08-31 18:57:56 +08:00
如果用 cmake 构建你就知道了,qt 有工具将 ui 文件转换为 c++的头文件。然后 cmake 会将将生成文件目录 include 进去,就可以检索跳转了。

qmake 操作也一样,只是自动化且用户无感知而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/596767

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX