QT+Visual Studio 配置开发环境教程

一、QT架构

 

     Qt Creator 是一个轻量级、跨平台的 IDE,专为 Qt 开发量身打造,内置对 qmake/CMake 的深度支持、Kits 配置管理、原生 QML 调试器以及较低的资源占用维基百科。

   而在 Windows 环境下,Visual Studio 配合 Qt VS Tools 扩展则可将 Qt 项目无缝接入 MSBuild/CMake 流程,享受 IntelliSense 智能补全、高级断点与性能分析工具,以及丰富的插件生态;但其仅限于 Windows 平台,且启动与索引大型项目时相对臃肿QtQt Forum。

If(你.需要跨平台一致性并追求对 Qt/QML 的深度支持 = true){

            Qt Creator 更合适;

 

}

if(团队主要在 Windows 平台,且有企业级调试与扩展需求 = true){

        可选择 Visual Studio + Qt VS ToolsQt。

}

 

 

 

 

二、提供安装工具

通过网盘分享的文件:开发工具
链接: https://pan.baidu.com/s/1CQgO9Ci7x4jhJ40CpMROog?pwd=dqzi 提取码: dqzi 
--来自百度网盘超级会员v6的分享


 

三、安装QT

1.安装路径

    我这里以为的QT5.12.9为例子,需要断网安装,不然需要输入邮件登录。选择安装路径,我是直接把安装路径的C字符直接改成D字符。点击下一步。

2.安装选项

    windows开发选 MSVC 64位就行

  • Qt Charts

Qt Charts 模块提供了易于使用的二维图表组件,基于 Qt Graphics View 框架,可在 QWidget、QGraphicsWidget 和 QML 中使用。它支持折线图、饼图、柱状图等多种图表类型,并且内置多种主题,可快速创建现代化界面中的图表展示。 Qt 文档Qt 文档

  • Qt Data Visualization

Qt Data Visualization 模块用于在三维空间中绘制条形图(bar)、散点图(scatter)和曲面图(surface),适合展示深度图、传感器数据等大量且变化迅速的数据。该模块基于 Qt Quick 和 OpenGL 硬件加速,可通过主题和自定义项/标签调整外观。 Qt 文档Qt 文档

  • Qt Purchasing

Qt Purchasing 是一个跨平台的应用内购买(In-App Purchase)库,支持在 macOS App Store、iOS App Store、Google Play 等平台上进行商品查询与购买。它提供 C++ API 以及对应的 QML 类型,方便在 Qt Quick 项目中集成内购功能。 Qt 文档Qt 文档

  • Qt Virtual Keyboard

Qt Virtual Keyboard 提供一个输入框架及参考实现的虚拟键盘前端,兼容 Linux/X11、Windows 桌面及 Boot2Qt 等平台。开发者可以基于此框架快速编写自定义输入法或集成第三方输入引擎,支持 C++ 和 QML 两种实现方式。 Qt 文档Qt 文档

  • Qt WebEngine

Qt WebEngine 模块封装了 Chromium 内核,允许在 Qt 应用中嵌入和渲染网页内容,支持 HTML、CSS、JavaScript 和 SVG 等标准。它包含 C++ 类和 QML 类型,可在 QWidget 和 Qt Quick 中使用,对动态 Web 内容提供完整渲染能力。 Qt 文档Qt 文档

  • Qt Network Authorization

Qt Network Authorization 提供 OAuth 1 和 OAuth 2 的客户端支持,可让应用在不暴露用户密码的前提下,安全地访问在线账户和 HTTP 服务。该模块包含一系列 C++ 类(如 QAbstractOAuth、QOAuth2AuthorizationCodeFlow 等)用于实现不同授权流程。 Qt 文档Qt 文档

  • Qt WebGL Streaming Plugin

Qt Quick WebGL 插件是一个平台级插件,可将 Qt Quick 界面通过 WebGL 流式传输到远端浏览器,实现单用户远程访问。应用在服务器端渲染,客户端只需支持 WebGL 即可交互。 Qt 文档Qt Forum

  • Qt Script (已弃用)

Qt Script 是基于 ECMAScript 标准的脚本引擎,自 Qt 4.3 起提供,允许在 C++ 和脚本间使用信号与槽。自 Qt 5.5 起被标记为已弃用,且从 Qt 6.5 开始完全删除,推荐使用 QML/JavaScript 或 QtQml 模块作为替代。

3.许可协议认证

单选同意,下一步安装。

4.配置全局变量

    1.QT安装完成后,需要配置全局变量。选中此计算机右键——属性——高级系统设置

2.选择高级标签——环境变量

3.选择系统变量的path

4.点击新建

5.新建之后多了新的一行,选中新的浏览,选中你的QT安装编译器的bin目录位置

四、安装VisualStudion

   1.双击VisualStudioSetup.exe,打开安装界面,勾选C++桌面开发、Visual Studio扩张插件

2.选中你的安装路径,点击右下角的安装。

3.需要等待一定的时间

4.安装完成后打开Visual Studio 2022

 

5.先选中 继续但无需代码。

6.Visual Studio扩张插件

 

7.在拓展管理器 搜索QT, 安装 QT Visual Studio Tools插件,

 

8.下载完整之后,把Visual Studio 2022关闭后自动安装。

9.安装完成后,继续打开Visual Studio 2022,还是选继续但无需代码, 安装成功会多Qt VS Tools,

选Options配置开发环境。

10.在Qt——Versions 选你QT MSVC的安装的路径,

11.如图以下,选qmake

12.以下红框三个选项要选中True,点击确定。作用是授权给Visual Studio的打开。

五、测试 

  到这一步之后就来测试一下,把Visual Studio 2022重新打开,会多了QT选项。选什么选项根据你的实际开发。

 

我选QtwidgetsApplication  测试,QtwidgetsApplication 是一个桌面应用程。

我在这里写了一行代码,创建一个按钮,然后运行。

六、总结

   我本人是喜欢QT+Visual Studio,因为Visual Studio确实好用,因为Visual Studio有皮肤插件

还有AI插件,以及远程Debug。非常好用。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906497.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(2)JVM 内存模型更新与 G1 垃圾收集器优化

JVM 内存模型更新与 G1 垃圾收集器优化 🚀 掌握前沿技术,成为顶尖 Java 工程师 2️⃣ JVM 内存模型更新 👉 点击展开题目 JVM内存模型在Java 17中有哪些重要更新?如何优化G1垃圾收集器在容器化环境的表现? &#x1…

TASK04【Datawhale 组队学习】构建RAG应用

目录 将LLM接入LangChain构建检索问答链运行成功图遇到的问题 langchain可以便捷地调用大模型,并将其结合在以langchain为基础框架搭建的个人应用中。 将LLM接入LangChain from langchain_openai import ChatOpenAI实例化一个 ChatOpenAI 类,实例化时传入超参数来…

springAI调用deepseek模型使用硅基流动api的配置信息

查看springai的官方文档,调用deepseek的格式如下: spring.ai.deepseek.api-key${your-api-key} spring.ai.deepseek.chat.options.modeldeepseek-chat spring.ai.deepseek.chat.options.temperature0.8 但是硅基流动的格式不是这样,这个伞兵…

SpringMVC 通过ajax 实现文件的上传

使用form表单在springmvc 项目中上传文件,文件上传成功之后往往会跳转到其他的页面。但是有的时候,文件上传成功的同时,并不需要进行页面的跳转,可以通过ajax来实现文件的上传 下面我们来看看如何来实现: 方式1&…

Docker安装Fluentd采集中间件

Fluentd 简介 :Fluentd 是一个高性能、可扩展的数据收集与聚合工具,能够统一数据收集和消费,实现各种数据源到各种数据接收器的高效传输,广泛应用于日志收集等领域。 功能特点 : 统一日志收集 :支持从各种…

07SpringMVC底层形象解析

目录 一、基于餐厅比喻的代码示例 ,帮助你理解各组件间的协作关系 1. DispatcherServlet 配置(服务员) 2. HandlerMapping 配置(菜单索引) 3. Controller 实现(厨师) 4. Service 层&#x…

eclipse 生成函数说明注释

在Eclipse中生成函数说明注释(JavaDoc风格)可以通过以下方法实现: 快捷键方式: 将光标放在函数上方输入/**后按回车键Eclipse会自动生成包含参数和返回值的注释模板 菜单方式: 选中函数点击菜单栏 Source > Gen…

【题解-洛谷】P6180 [USACO15DEC] Breed Counting S

题目:P6180 [USACO15DEC] Breed Counting S 题目描述 Farmer John 的 N N N 头奶牛,从左到右编号为 1 …

基于Android的XX校园交流APP

开发语言:Java框架:ssmAndroidJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7数据库工具:Navicat12开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 APP登录 APP首页…

25、工业防火墙 - 工控网络保护 (模拟) - /安全与维护组件/industrial-firewall-dcs-protection

76个工业组件库示例汇总 工业防火墙 - 工控网络保护 (模拟) 概述 这是一个交互式的 Web 组件,旨在模拟工业防火墙在保护关键工控网络(特别是 DCS - 分布式控制系统)免受网络攻击(如勒索软件传播)方面的核心功能。组件通过可视化简化的网络拓扑、模拟网络流量、应用防火…

kotlin flow的两种SharingStarted策略的区别

一 两种 SharingStarted 策略的区别: SharingStarted.Eagerly: 立即开始收集上游流,即使没有下游订阅者持续保持活跃状态,直到 ViewModel 被清除优点:响应更快,数据始终保持最新缺点:消耗更多资源&#x…

Windows_RustRover Rust语言开发环境构建

Windows_RustRover Rust语言开发环境构建 一、Rust语言简介(一)起源与发展(二)语言特点(三)应用场景(四)社区与生态 二、RustRover(一)主要功能(二…

XCOSnTh-fatfsShell

#include "XCOSnTh.h" #include "ff.h" #include "stdio.h" static char pwd[1024]"1:"; static char pwdCount2; FRESULT lsExe(char *path,int(*printf)(const char* format, ...)) {FRESULT res;DIR dir;FILINFO fno;// 打开根目录…

篇章十 消息持久化(二)

目录 1.消息持久化-创建MessageFileManger类 1.1 创建一个类 1.2 创建关于路径的方法 1.3 定义内部类 1.4 实现消息统计文件读写 1.5 实现创建消息目录和文件 1.6 实现删除消息目录和文件 1.7 实现消息序列化 1. 消息序列化的一些概念: 2. 方案选择&#xf…

中间件-seata

分布式事务seata 角色组成角色指责AT模式TCC模式 角色组成 TC:事务协调者,维护全局和分支事务的状态,驱动全局事务提交或回滚。TM:事务管理者,定义全局事务的范围:开始全局事务、提交或回滚全局事务。RM&am…

python代码绘制某只股票最近90天的K线图、均线、量能图

运行代码,要求输入股票代码和名称,其他参数可省略 import akshare as ak import matplotlib.pyplot as plt import pandas as pd import mplfinance as mpf import matplotlib.dates as mdates import numpy as np import os from datetime import date…

Xilinx 7Series\UltraScale 在线升级FLASH STARTUPE2和STARTUPE3使用

一、FPGA 在线升级 FPGA 在线升级FLASH时,一般是通过逻辑生成SPI接口操作FLASH,当然也可以通过其他SOC经FPGA操作FLASH,那么FPGA就要实现在启动后对FLASH的控制。 对于7Series FPGA,只有CCLK是专用引脚,SPI接口均为普…

Azure 应用服务中的异常处理、日志记录和通知:综合指南

简介 Azure 应用服务是基于云的应用程序,使开发人员能够在云上构建、部署和管理应用程序。与任何应用程序一样,制定适当的异常处理、日志记录和通知实践至关重要,以确保应用程序平稳运行,并快速识别和解决任何问题。在本篇博文中&…

Java 应用如何实现 HTTPS:加密数据传输的实用指南

Java 应用如何实现 HTTPS:加密数据传输的实用指南 在当今的互联网环境中,数据安全至关重要,HTTPS 作为加密的数据传输协议,为 Java 应用提供了安全通信的保障。本文将深入探讨 Java 应用如何实现 HTTPS,通过详细代码实…

域名与DNS详解

域名与DNS详解 一、核心概念 域名(Domain Name) 定义:人类可读的网络地址标识(如 www.google.com)作用:替代复杂IP地址(类似"手机通讯录"功能) DNS(Domain …