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

这篇具有很好参考价值的文章主要介绍了Qt Visual Studio添加Qt ui和编译注意事项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

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

新建Widget 对象

vs+qt项目中,在ui界面添加组件,编译时提示ui没有对象,Qt,C++,qt,ui,visual studio

vs+qt项目中,在ui界面添加组件,编译时提示ui没有对象,Qt,C++,qt,ui,visual studio
生成对应的三个文件.ui, xxx. cpp, xxx.h
vs+qt项目中,在ui界面添加组件,编译时提示ui没有对象,Qt,C++,qt,ui,visual studio
但是此时在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 添加到工程中
vs+qt项目中,在ui界面添加组件,编译时提示ui没有对象,Qt,C++,qt,ui,visual studio

命令行: ui.exe路径  xxx.ui -o ui_xxx.h
说明: UIC xxx.ui
输出: ui_xxx.h;%(Outputs)
附加依赖项: xxx.ui; ui.exe path; %(ApplicationalInputs)

编译出错

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

设置QtWidgetsTestClass.h的属性

vs+qt项目中,在ui界面添加组件,编译时提示ui没有对象,Qt,C++,qt,ui,visual studio

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

在生成的cpp和h文件中添加信号量

在QtWidgetsTestClass.h 中添加信号量时, 会重新生成一下moc_QtWidgetsTestClass.cpp文件,这时候需要清理下工程,再重新编译。否则会识别不到这个信号量而报错。

总结

  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方便的。文章来源地址https://www.toymoban.com/news/detail-782146.html

到了这里,关于Qt Visual Studio添加Qt ui和编译注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在 Visual Studio 中编译 Qt 资源文件和 UI 文件教程

    Qt 是一个跨平台的 C++ 库,用于开发图形界面和应用程序。在 Qt 开发中,资源文件和 UI 文件是常见的两种资源,需要将它们编译成可用的形式,以便在应用程序中使用。本教程将指导您如何在 Visual Studio 中配置并编译 Qt 资源文件和 UI 文件。 安装 Qt 开发工具包:确保您已经

    2024年02月12日
    浏览(60)
  • android studio 使用MQTT协议连接onenet 注意事项和相关函数

    一、注意事项: 1.添加依赖: 2.在注册表允许打开网络 3.在application     /application之间添加用于支持 MQTT(Message Queuing Telemetry Transport)通信协议的 Eclipse Paho Android 服务。 4.打开项目中的 gradle.properties 文件,并确保以下属性设置为true------更新所有的支持库到AndroidX中。 二、

    2024年04月26日
    浏览(49)
  • windows11编译OpenCV4.5.0 with CUDA(附注意事项)

    从OpenCV4.2.0 版本开始允许使用 Nvidia GPU 来加速推理。本文介绍最近使用windows11系统编译带CUDA的OpenCV4.5.0的过程。 文中使用【 特别注意 :…】为大家标识出容易出错的地方。 安装成功后,使用CPU与GPU调用yolov4模型进行推理的耗时测试结果: GPU CPU 4ms 311ms 从差距上看,还是值

    2024年02月12日
    浏览(81)
  • Unity3D :运行时 UI 的性能注意事项

    推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 本页介绍如何提高运行时的性能 用户界面 . 您可以使用  usageHints  来设置元素在运行时的使用方式,以便相应地优化数据存储。例如: 下表通过示例描述了要用于哪些元素的属性: 具有以下元素 使用这

    2024年02月12日
    浏览(39)
  • QT中Qthread线程彻底销毁的实例与注意事项(防止线程资源内存泄露)

     注意: 释放线程的时候触发线程的信号与槽连接时的连接类型参数一定要是Qt::ConnectionType::DirectConnection, 否则线程销毁不了会造成内存泄露,通过任务栏开启资源管理器可监视cup的线程数变化情况。 QThread* th=new QThread();           Work* mywork=new Work ();           mywork-move

    2024年02月02日
    浏览(49)
  • 微信小程序 - 页面插入添加 Banner 广告超详细教程(支持自定义样式、位置、大小等)及注意事项

    如果您需要点击弹出的广告,请访问: 微信小程序 - 页面插入广告(激励式广告)。 本文将从 0-1 完成整个过程,您只需要按照步骤操作即可, 代码干净整洁注释详细,快速将代码移植到您的微信小程序项目中, 如下图所示,底部 Banner 式卡片广告, 您可以将其嵌入到任何

    2024年02月08日
    浏览(157)
  • 初学者在UI设计中你应该注意的事项(2) 麓言信息

    初学者在UI设计中你应该注意的事项(2)  麓言信息   1、不要极限饱和     高度饱和的颜色产生峰值对比度。移动应用中,当背景是暗黑时,高度饱和的元素会刺激眼睛并给用户带来不好的体验。暗模式通常在夜间使用,因此设计师有责任保持舒缓和放松的氛围——为

    2024年02月11日
    浏览(38)
  • FANUC机器人UI[4]_CSTOPI循环停止信号使用时的注意事项

    前面已经和大家介绍了关于FANUC机器人的UOP信号的具体功能,具体可参考以下链接中的内容: FANUC机器人UOP信号(UI+UO)功能详细介绍 本次关于FANUC机器人的UI[4] CSTOPI循环停止信号使用时的注意事项进行一个补充说明。 在“系统”—“配置”中,第9项“用CSTOPI信号强制中止程

    2024年02月15日
    浏览(40)
  • Element-UI的dialog对话组件内的tinymce6弹窗被遮挡的解决办法及其它相关注意事项

    修改层级 注意要写在 style/style 中,我当时没注意,写在了 style scoped/style 中,死活没反应。 利用属性 :destroy-on-close=\\\"true\\\" 要求对话组件关闭后销毁其中的元素 下载中文包,初始化时配置中文即可。 中文包位置:https://www.tiny.cloud/get-tiny/language-packages/ 配置 参考: Dialog 对话框

    2023年04月15日
    浏览(49)
  • 学习Linux的注意事项(使用经验;目录作用;服务器注意事项)

    本篇分享学习Linux过程中的一些经验 Linux严格区分大小写 Linux中所有内容以文件形式保存 ,包括硬件,Linux是以管理文件的方式操作硬件 硬盘文件是 /dev/sd[a-p] 光盘文件是 /dev/sr0 等 对于设置需要写入文件,命令行的设置在重启之后就会失效,只有下入文件才可以保存下来 文

    2024年02月11日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包