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
2. 用VS中的QT插件导入ui文件
插件会自动生成对应的头文件ui_AnotherVTKWindow.h
,并包含到vs工程中。
3. 在单独的命名空间UI中声明并调用
-
参考
ui_AnotherVTKWindow.h
中的命名类,具体情况具体分析,此处定义的ui类名为Form。
-
声明ui类,调用头文件
-
新建QWidget对象,并将其与ui连接起来,正常调用和访问widget对象即可。
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窗口显示点云
防止designer中对ui文件的修改无法保存到ui_windows.h文件中
即对.ui的更改运行时不生效
防止designer中对ui文件的修改无法保存到ui_windows.h文件中
联合编辑时无法打断点debug
设置好可以debug之后,使用F10逐过程调试比较好,F11逐语句调试会经常唤起
打开文件面板
Qt的.pro文件通过插件转到VS2019打开之后,默认的.sln工程属性无法运行时打断点debug
主要参考链接
上述链接亲测有效,为防止失效,重写一遍
在使用vs的过程中,有些工程可以编译通过正常运行,但是在下断点调试时会显示"当前不会命中断点.还没有为该文档加载任何符号".
这并不是vs的bug,而是在设置选项中没有在对应的位置设置调试信息,按照下列方法打开断点:1.右键项目->属性->配置属性->C/C++->常规->调试信息格式,这里设置为
2.项目->属性->配置属性->链接器->调试->生成调试信息
3.C/C++->优化->选择禁用
这里不禁用也可以,此处主要是禁用编译器加速的,设成禁用实际上就是debug模式。
设置禁用加速会让程序运行变慢,变成了debug模式。此处测试可以不禁用
4.删除解决方案下的.ncb文件
NCB是“No Compile Browser”的缩写,无编译浏览文件(no compile browser), NCB为VC++自动创建的跟踪文件,,其中存放了供ClassView,WizardBar和Component Gallery使用的信息,由VC开发环境自动生成.无编译浏览文件.当自动完成功能出问题时可以删除此文件.build编译工程后会自动生成.
注意:此处没找到对应的.ncb文件,也正常用
5.工具->选项->调试->"要求与原始版本完成匹配"去掉勾选
6.最后在上述设置的情况下,清理并重新编译解决方案
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!