VS_vsaddin_QT联合编辑

VS_vsaddin_QT联合编辑

主要包含了使用VS2019,QT_VS_tools插件3.0.0和QT5.15.2联合编辑时,出现的一些问题。

在VS中通过qt插件添加并调用新的ui文件

1. 使用designer新建ui文件

用Qt designer新建ui文件,编辑完成后保存ui文件到.sln相应工程文件夹中。
例:新建AnotherVTKWindow.ui
img

2. 用VS中的QT插件导入ui文件

插件会自动生成对应的头文件ui_AnotherVTKWindow.h,并包含到vs工程中。
img

3. 在单独的命名空间UI中声明并调用

  1. 参考ui_AnotherVTKWindow.h中的命名类,具体情况具体分析,此处定义的ui类名为Form。
    img

  2. 声明ui类,调用头文件
    img

  3. 新建QWidget对象,并将其与ui连接起来,正常调用和访问widget对象即可。
    img


    ui_form->setupUi(QWidget* another_widget)
    此处的setupUi()函数,其实就是传入一个指针对象Widget* ptr,然后根据预定义的函数对新创建的Widget对象进行尺寸和子组件的添加,使之成为QtDesigner中设置的ui的外观。把握住这点再去看对应的ui_AnotherVTKWindow.h头文件的具体代码即可。

VS+QT_addin联合编辑, 修改ui文件后,ui程序文件未更新

切记切记!!!每次修改完ui界面之后,务必重新生成一遍窗体的代码,并覆盖ui_XXXXX.h文件,否则会因为调用原来的ui_xxxxx.h文件而引发莫名其妙的bug
解决方案

QtCreator和VS联合编辑,产生中文乱码,并编译报错

联合编辑时中文乱码

Qt中添加VTK窗口显示点云

Qt中添加VTK窗口显示点云

防止designer中对ui文件的修改无法保存到ui_windows.h文件中

即对.ui的更改运行时不生效
防止designer中对ui文件的修改无法保存到ui_windows.h文件中

联合编辑时无法打断点debug

设置好可以debug之后,使用F10逐过程调试比较好,F11逐语句调试会经常唤起打开文件面板

Qt的.pro文件通过插件转到VS2019打开之后,默认的.sln工程属性无法运行时打断点debug
主要参考链接
上述链接亲测有效,为防止失效,重写一遍
在使用vs的过程中,有些工程可以编译通过正常运行,但是在下断点调试时会显示"当前不会命中断点.还没有为该文档加载任何符号".
img
这并不是vs的bug,而是在设置选项中没有在对应的位置设置调试信息,按照下列方法打开断点:

1.右键项目->属性->配置属性->C/C++->常规->调试信息格式,这里设置为
img
2.项目->属性->配置属性->链接器->调试->生成调试信息
img
3.C/C++->优化->选择禁用
这里不禁用也可以,此处主要是禁用编译器加速的,设成禁用实际上就是debug模式。
设置禁用加速会让程序运行变慢,变成了debug模式。此处测试可以不禁用
img
4.删除解决方案下的.ncb文件
NCB是“No Compile Browser”的缩写,无编译浏览文件(no compile browser), NCB为VC++自动创建的跟踪文件,,其中存放了供ClassView,WizardBar和Component Gallery使用的信息,由VC开发环境自动生成.无编译浏览文件.当自动完成功能出问题时可以删除此文件.build编译工程后会自动生成.
注意:此处没找到对应的.ncb文件,也正常用
5.工具->选项->调试->"要求与原始版本完成匹配"去掉勾选
img
6.最后在上述设置的情况下,清理并重新编译解决方案
img

posted @   聚之  阅读(237)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示