Qt Visual Studio添加Qt ui和编译注意事项

文章目录

  • 背景
  • 新建Widget 对象
  • UIC程序生成ui_xxxx.h文件
  • 编译出错
  • 设置QtWidgetsTestClass.h的属性
  • 总结

背景

  1. 工程中需要新的界面
  2. VS中新建Qt的ui文件,然后需要生成对应的.cpp 和 .h 文件

新建Widget 对象

Qt Visual Studio添加Qt ui和编译注意事项_第1张图片

Qt Visual Studio添加Qt ui和编译注意事项_第2张图片
生成对应的三个文件.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 添加到工程中
Qt Visual Studio添加Qt ui和编译注意事项_第3张图片

编译出错

找不到moc_xxx , 在之前创建QtWidgetClass时,选择了Q_OBJECT选项,因此,这里需要用到Qt的moc.exe工具,生成moc_xxxx.cpp文件。这里是moc_QtWidgetsTestClass.cpp文件

设置QtWidgetsTestClass.h的属性

Qt Visual Studio添加Qt ui和编译注意事项_第4张图片

  1. 编译工程,生成moc_QtWidgetsTestClass.cpp文件
  2. 将该文件拷贝至Debug目录下
  3. 再次编译工程

总结

  1. 使用VS添加新的UI对象感觉是比较麻烦的,需要3个步骤
  2. 步骤一: 通过向导生成ui文件, xxx.cpp 和 xxx.h 三个文件
  3. 步骤二: 通过ui文件生成ui_xxxx.h 头文件
  4. 步骤三: 通过xxx.h 生成moc_xxx.cpp文件
  5. 将moc_xxx.cpp文件拷贝到debug目录下 (我的VS工程下的debug目录下保存了大量的moc_xxx.cpp文件, 该工程最早也是从Qt工程转变而来的)

综上,在添加新的ui的时候,从ui到代码这一步还是没有Qt creator方便的。

你可能感兴趣的:(Qt,C++,qt,ui,visual,studio)