c++头文件中有实现实在是太正常了。inline了解一下。上边已经有人说了ui_xxx.h的产生原理。再多说一点的话,其实这是一个经典的设计模式。你可以去看看装饰者模式。第二,曾经的模板类实现还有要求成员函数都得是inline的,你要是放在cpp里还会编译报错,当然现在不用了。inline的优点是程序性能好,缺点是编译出来的目标码有点大
[quote=引用 2 楼 hzh_Beyond 的回复:] 这个文件是编译器针对UI生成的中间文件,ui文件xml格式的,Qt编译时,先用uic工具将mainwindow.ui编译生成ui_mainwindow.h,转化为c++类,就是 Ui::MainWindow,然后在MainWindow.cpp中有一个UI成员变量被初始化为Ui::MainWindow,达到可以在程序中访问界面的目的。
这个文件是编译器针对UI生成的中间文件,ui文件xml格式的,Qt编译时,先用uic工具将mainwindow.ui编译生成ui_mainwindow.h,转化为c++类,就是 Ui::MainWindow,然后在MainWindow.cpp中有一个UI成员变量被初始化为Ui::MainWindow,达到可以在程序中访问界面的目的。
为什么在h文件中有“实现”,语言东西,别太较真
这个cpp不需要你去改
16,794
社区成员
26,679
社区内容
加载中
试试用AI创作助手写篇文章吧