文章目录
- 背景
- 新建Widget 对象
- UIC程序生成ui_xxxx.h文件
- 编译出错
- 设置QtWidgetsTestClass.h的属性
- 总结
背景
- 工程中需要新的界面
- VS中新建Qt的ui文件,然后需要生成对应的.cpp 和 .h 文件
新建Widget 对象
生成对应的三个文件.ui, xxx. cpp, xxx.h
但是此时在QtWidgetsTestClass.h 里面,包含了#include “ui_QtWidgetsTestClass.h”。 会提示找不到该文件。该文件的生成,需要使用到Qt的uic.exe程序
UIC程序生成ui_xxxx.h文件
1.通过配置ui_QtWidgetsTestClass.ui的属性,
2. 编译工程
3. 生成ui_QtWidgetsTestClass.h
4. 将ui_QtWidgetsTestClass.h 添加到工程中
编译出错
找不到moc_xxx , 在之前创建QtWidgetClass时,选择了Q_OBJECT选项,因此,这里需要用到Qt的moc.exe工具,生成moc_xxxx.cpp文件。这里是moc_QtWidgetsTestClass.cpp文件
设置QtWidgetsTestClass.h的属性
- 编译工程,生成moc_QtWidgetsTestClass.cpp文件
- 将该文件拷贝至Debug目录下
- 再次编译工程
总结
- 使用VS添加新的UI对象感觉是比较麻烦的,需要3个步骤
- 步骤一: 通过向导生成ui文件, xxx.cpp 和 xxx.h 三个文件
- 步骤二: 通过ui文件生成ui_xxxx.h 头文件
- 步骤三: 通过xxx.h 生成moc_xxx.cpp文件
- 将moc_xxx.cpp文件拷贝到debug目录下 (我的VS工程下的debug目录下保存了大量的moc_xxx.cpp文件, 该工程最早也是从Qt工程转变而来的)
综上,在添加新的ui的时候,从ui到代码这一步还是没有Qt creator方便的。