vs要写“QT+=”时该怎么办

2023-12-21 09:58
文章标签 qt vs 时该

本文主要是介绍vs要写“QT+=”时该怎么办,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vs写qt入门请参照,这里不再赘述:https://blog.csdn.net/qq_33154343/article/details/78587699

↑一定要跟着上面的链接先安装上 Qt VS Tools

 

——今天一上午本来说棒发小写个管理试验位置的小系统,考虑到他们根本不安装数据库就试着查了查能不能存到excel里,结果需要用到QAxObject……,vs里还没有qtcreator那样f1查看文档,特么的光来回倒工程就耗了一上午……

百度一下这方面问题的不多,我就分享一下下解决办法

 

一、QT+= 是什么

当我们打开qt目录下的include(我的是:[qt安装目录]\Qt\Qt5.9.7\5.9.7\msvc2017_64\include)

能看到很多文件夹,这些就是一个个模块。

当我们用vs新建qt项目时候有这些选项(注意,这些模块就来源于上图的include文件夹

当我们勾选了他们,则在生成的.pro文件(生成步骤在标题三里)会有他们的存在

当我们创建时没勾上,再需要加这些模块时(比较常见的是include某个类后显示“no such file or directory”)在QT+=后面加上相应的模块名就好了。

 

 

二、vs和qtcreator工程的区别

这里非常的折腾……

1.vs

vs工程里的后缀为.vcxproj是vs的项目文件

打开一看,乱七八糟的一大堆……qtcreator根本不认。

2.qtcreator

后缀为.pro的是qtcreator的项目文件

3.最折腾的部分

详见第三部分第4节。

 

三、互相导入的办法及注意

1.vs碰到需要加“QT+=”的解决办法

方法一:

此处摘自:https://blog.csdn.net/qq319923400/article/details/56277308

QT VS-addin能够导出pro文件

clip_image006

clip_image008

在vs中卸载当前项目(重要)

clip_image010

打开生成的pro文件,加入pri文件(QT+=也在这时写!)

clip_image012

打开pro文件

clip_image013

clip_image014

vs中重新加载项目

clip_image016

 

方法二

在 https://blog.csdn.net/qq_35040828/article/details/70143692 看到的办法

qt vs tools--Qt Project Settings--Qt Modules界面中勾选ActiveQt container,添加动态库连接

然后就像新建项目那样重选模块就好了!

 

2.qtCreator->VS

用Qt VS Tools的 Open Qt Project File(.pro)。

打开原项目的.pro文件打开项目即可

 

3.VS->qtCreator

用Qt VS Tools的 Create Basic .pro File ,创建.pro文件。

然后用qtcreator打开.por文件即可打开项目

 

4.moc_XXX的问题

我发现vs导出的pro文件用qtcreator打开,

vs运行的好好的,在qtCreator构建却出现问题

原来,vs导出的pro是

看上面的依赖项的问题,是“$(ConfigurationName)“ 不识别!

而生成的moc_XXX却在这里!

$(ConfigurationName)应该就是debug、release的选择的版本。

qtcreator是debug、release构建时分别生成在不同的build文件夹,可能在这里的区别导致的问题

 

四、qt帮助手册在哪?

在qtcreator里可以直接对着函数按下“f1”就弹出此函数的官方文档,但是vs里按下f1弹出的是网页“vs的官方文档”……

想要直接看文档,在路径 (我的是:[qt安装目录]\Qt\Qt5.9.7\5.9.7\msvc2017_64\bin)

里找到assistant.exe 然后打开用即可

 

注意,在生成索引之后再打开,不然可能还没生成出你要找的索引时你就去找结果找不到……

 

比如,我看到博主写的qt控制excel用到的的类QAxObject,

然鹅,include头文件它不认识,需要写那个QT+,于是用上面第三步的方法导出,加上,再导入的方法把模块加进去,然后就那句include就会被工程认识了~

 

 

五、怎么发布

在生成的exe的文件夹内加上需要的dll文件即可(弹出的提示框缺什么加什么)

那些.dll文件在路径 (我的是:[qt安装目录]\Qt\Qt5.9.7\5.9.7\msvc2017_64\bin)里。

其中后面带“d”的是debug版本,不带d的是release版本。

 

 

其他

.pro文件、CONFIG 变量的介绍:

https://blog.csdn.net/zwjzwj108108/article/details/79349985

 qmake 之 pro、pri、prf、prl文件:

https://blog.csdn.net/dbzhang800/article/details/6348432

这篇关于vs要写“QT+=”时该怎么办的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/519534

相关文章

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

使用Qt编程QtNetwork无法使用

使用 VS 构建 Qt 项目时 QtNetwork 无法使用的问题 - 摘叶飞镖 - 博客园 (cnblogs.com) 另外,强烈建议在使用QNetworkAccessManager之前看看这篇文章: Qt 之 QNetworkAccessManager踏坑记录-CSDN博客 C++ Qt开发:QNetworkAccessManager网络接口组件 阅读目录 1.1 通用API函数

Qt多语种开发教程

Qt作为跨平台的开发工具,早已应用到各行各业的软件开发中。 今天讲讲,Qt开发的正序怎么做多语言开发。就是说,你设置中文,就中文显示;设置英语就英文显示,设置繁体就繁体显示,设置发育就显示法语等。 开发环境(其实多语种这块根环境没太大关系):win10,Qt.5.12.10 一.先用QtCreator创建一个简单的桌面程序 1.工程就随便命名“LanguageTest”,其他默认。 2.在设计师

Qt中window frame的影响

window frame 在创建图形化界面的时候,会创建窗口主体,上面会多出一条,周围多次一圈细边,这就叫window frame窗口框架,这是操作系统自带的。 这个对geometry的一些属性有一定影响,主要体现在Qt坐标系体系: 窗口当中包含一个按钮,这个按钮的坐标系是以父元素为参考,那么这个参考是widget本体作为参考,还是window frame作为参考,这两种参考体系都存在

【Qt】定时器事件

定时器事件 在之前学习QTimer中实现了定时器的功能,而在QTimer背后是QTimerEvent定时器事件进行支撑的。在QObject中提供了一个timeEvent这个函数。 startTimer启动定时器killTimer关闭定时器 Qt 中在进⾏窗⼝程序的处理过程中,经常要周期性的执⾏某些操作,或者制作⼀些动画效果,使⽤定 时器就可以实现。所谓定时器就是在间隔⼀定时间后,去执⾏某⼀

QT 编译报错:C3861: ‘tr‘ identifier not found

问题: QT 编译报错:C3861: ‘tr’ identifier not found 原因 使用tr的地方所在的类没有继承自 QObject 类 或者在不在某一类中, 解决方案 就直接用类名引用 :QObject::tr( )

VS Code 调试go程序的相关配置说明

用 VS code 调试Go程序需要在.vscode/launch.json文件中增加如下配置:  // launch.json{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information,