当前位置: 首页 > news >正文

Qt6 for Windows 环境搭建(Visual Studio)

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

在 Windows 中,如果想要开发 Qt 应用程序,可以选择多种方式:

  • Qt Creator + MinGW 编译器
  • Qt Creator + MSVC 编译器
  • Visual Studio(自带 MSVC 编译器)

前两种方式之前我们已经介绍过了,主要利用 Qt Creator 作为 IDE,并配合不同的编译器来开发 Qt。现在该介绍第三种方式了,使用 Visual Studio 作为 IDE 来开发 Qt。

Qt Creator 还是 Visual Studio

经常有人会问:在编写 Qt 程序时,应该使用哪个 IDE - Qt Creator 还是 Visual Studio?

  • Qt Creator
    专为 Qt 开发设计的 IDE,跨平台、轻量级、直观易用,在功能和工作流程上与 Qt 框架紧密集成。它提供了很多有用的功能,如代码编辑器、Designer 设计师、示例教程等;此外,它还具有非常好用的自动完成和代码导航功能,使我们能够更加高效地编写 Qt 代码。

  • Visual Studio
    是一个强大且被广泛使用的 IDE,支持多种编程语言。它提供了丰富的功能和工具,包括代码编辑器、调试器、性能分析器等;同时它还支持很多第三方插件和扩展,比如分布式编译工具 IncrediBuild、静态代码检查工具,以及 Qt Visual Studio Tools 插件等。

总之,这两个 IDE 都可用于 Qt 开发。如果想要进行跨平台,并且要深入利用 Qt 框架的特性,建议选择 Qt Creator;如果习惯于使用 Visual Studio,并且项目需要与其他非 Qt 相关代码进行集成,则建议选择 Visual Studio。

下载 Visual Studio

有关 Visual Studio 的下载,可以参考以下地址:

  • 最新版下载(VS2022):https://visualstudio.microsoft.com/zh-hans/downloads/
  • 旧版本(VS2019 及之前的版本):https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
  • VS2019 下载:https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes

Visual Studio 一共有三个版本,Community 社区版(免费)、Professional 专业版(收费)、Enterprise 企业版(价格更贵)。由于我们是个人使用,选择 Community 社区版就足够了(Because it’s free)。

在下载 Qt6.5 时,由于我们选择了“MSVC 2019 64-bit”,因此这里建议下载对应的 Visual Studio 版本(即:2019),以防后面出现兼容问题。

在这里插入图片描述

安装 Visual Studio

在 Visual Studio 下载完成之后,双击准备安装。

这时会检查是否有可用的更新或者组件需要下载和安装,包括:特定的工作负载、组件、模块、或者其它相关内容。

在这里插入图片描述

稍等片刻,就会进入组件选择界面。

在“工作负荷”界面选择“使用 C++ 的桌面开发”,随后再选择一下语言、安装位置,就可以正常安装了:

在这里插入图片描述

安装过程较长,耐心等待吧!

在这里插入图片描述

安装插件

在 Visual Studio 安装完成之后,我们并不能立即使用 Qt,还需要安装两个额外的插件:

  • Qt Visual Studio Tools
    提供了与 Qt 框架集成的功能(例如:项目模板、Designer 设计师等),以辅助我们创建、构建和调试 Qt 项目,让 Qt 在 Visual Studio 中变得更加易用。

  • Qt VS CMake Tools
    专注于与 CMake 构建系统的集成,使我们能够在 Visual Studio 中使用 CMake 构建和管理 Qt 项目。

打开 Visual Studio,在最上方的菜单栏中选择【扩展】 ->【管理扩展】,然后在打开的“管理扩展”窗口中搜索“Qt”,这时搜索结果中就会出现这两个插件,分别进行下载安装:

在这里插入图片描述

在安装完这两个插件之后,需要重启 Visual Studio 以让插件生效。

配置 Qt

打开 Visual Studio 后,先不要着急创建项目或者打开项目,因为这时 Qt 的环境尚未准备就绪,需要配置一下。

点击“继续但无需代码”,进入主界面进行配置。

在这里插入图片描述

可以看到,Visual Studio 中出现了一条警告,提醒我们要配置 Qt 的版本。

选择【扩展】 ->【Qt VS Tools】 ->【Qt Versions】:

在这里插入图片描述

这时会弹出一个对话框,在右侧表格的“Path”所在列中,添加 Qt MSVC 安装目录下的 qmake.exe 路径:

在这里插入图片描述

到这里,配置就基本完成了。

环境测试

现在来创建一个测试程序,点击左上角菜单栏中的【文件】->【新建】->【项目】:

在这里插入图片描述

将模版列表拖动到最底下,这时会看到所有的 Qt 模版,选择 “Qt Quick Application”进行创建:

在这里插入图片描述

填写项目名称,并选择项目保存的位置,然后点击“创建”:

在这里插入图片描述

在弹出的向导界面中,会列出要包含在项目中的配置,使用默认推荐的配置即可:

在这里插入图片描述

接下来,就会自动生成相应的工程代码了。

选择菜单栏上的【调试】->【开始执行】(或者快捷键 Ctrl + F5)来运行代码,效果如下:

在这里插入图片描述

这就说明环境配置 OK 了,接下来就可以愉快的用 Visual Studio 写代码啦!

相关文章:

Qt6 for Windows 环境搭建(Visual Studio)

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在 Windows 中,如果想要开发 Qt 应用程序,可以选择多种方式: Qt Creator MinGW 编译器Qt Creator MSVC 编译器Visual Studio&#xff0…...

探索未知世界:桌面端3D GIS引领地理信息新时代

近年来,桌面端的三维地理信息系统(3D GIS)在地理信息领域迎来了显著的发展,为我们带来了更深入、更丰富的地理空间认知和数据分析体验。从城市规划到环境保护,从资源管理到应急响应,桌面端的3D GIS正逐渐成…...

微信小程序 趣味学习与益智游戏系统APP

管理员、用户可通过HBuilder系统手机打开系统,注册登录后可进行管理员后端;首页、个人中心、用户管理、学生分类管理、学一学管理、玩一玩管理、听一听管理、试题管理、练一练管理、系统管理、考试管理,用户前端;首页、学一学、玩…...

【单片机】UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet等常见通信方式

在单片机开发中,UART、I2C、RS485等普遍在用,这里做一个简单的介绍 UART通用异步收发器 UART口指的是一种物理接口形式(硬件)。 UART是异步(指不使用时钟同步,依靠帧长进行判断),全双工(收发…...

【Java从0到1学习】13 Java IO流

1. 流 1.1 流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 一个流,必有源端和目的端,它们可以是计算机内存的…...

linux并发服务器 —— 多进程并发(四)

进程概述 程序是包含一系列信息的文件,描述了如何在运行时创建一个进程; 进程是正在运行的程序的实例,可以用一个程序来创建多个进程; 用户内存空间包含程序代码以及代码所使用的变量,内核数据结构用于维护进程状态…...

华为云Stack的学习(四)

五、Service OM资源管理 1.Service OM简介 1.1 Service OM介绍 在华为云Stack解决方案中,Service OM是FusionSphere OpenStack的操作管理界面,是资源池(计算、存储、网络)以及基础云服务的管理工具。 1.2 Service OM定位 Serv…...

Midjourney 完整版教程(从账号注册到设计应用)

目录 一、Midjourney 介绍 二、Midjourney 的AI出图示例 三、手把手教你上手Midjourney 1、账号&初始化 1.1 账号注册登录 1.2 账号付费 1.3 账号初始化 2、Midjourney的基础设置 3、Midjourney 出图步骤。 (一)直接描述出图 (二)垫图生图。 4、Midjourney的…...

保护香港服务器的方法

保护香港服务器的方法 当你把一个香港服务器完全留给一个组织、应用程序或个人使用时,它被称为香港服务器租用。在这种类型的主机配置中,客户端将会借出整个服务器,并且不允许其他任何人使用它。 如果您计划使用香港服务器,安全性…...

Redis——》Pipeline

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

Git企业开发控制理论和实操-从入门到深入(六)|多人协作开发

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...

通过 ChatGPT 学习 Python

先决条件 您需要一个 OpenAI 帐户才能开始与 ChatGPT 交互。如果您还没有这样做,请在 OpenAI 网站上注册一个帐户。 什么是 ChatGPT? GPT(Generative Pre-training Transformer)是 OpenAI 开发的一种语言模型,它使用深度学习技术生成类似人类的文本。ChatGPT 是 GPT 模…...

开发卡牌gamefi游戏需要多少钱?

卡牌游戏作为一种受欢迎的游戏形式,吸引了众多开发者的关注。然而,开发一款成功的卡牌游戏需要全面考虑多个方面的因素,其中之一就是资金投入。本文将从专业性和投入回报的角度,探讨开发一款卡牌游戏所需的资金投入。 一、专业性的…...

linux服务TCP参数配置

Linux TCP参数配置 阿里云规范 1.【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。 说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 的连接数太多&am…...

部署Spring Boot项目

上传jar包 之前在新建Spring Boot项目[1]使用mvn install的方式,已经构建出jar包。 通过scp或rz/sz,将该jar包上传到服务器 执行java -jar hello-0.0.1-SNAPSHOT.jar,发生如下报错: Exception in thread "main" java.lang.Unsuppo…...

Java 中数据结构LinkedList的用法

LinkList 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。 链表可分为单向链表和双向链表。 一个单向链表包含两个值: 当前节点…...

jmeter递增压测线程组配置

jmeter递增压测线程组配置 新建线程组线程组参数详解及填写其他指标设置 新建线程组 操作位置如图: 线程组参数详解及填写 其他指标设置 其他指标设置可参考另一篇文章: 链接: jmeter 在linux服务器中执行性能测试、监听服务器资源指标...

hutool工具

Hutool是一个Java工具包 参考&#xff1a;https://www.hutool.cn/ <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.6.3</version> </dependency>Convert类型转换工具类 //转换为…...

Redis.conf 配置文件详解

1、units 单位 配置大小单位&#xff0c;开头定义了一些基本的度量单位&#xff0c;只支持 bytes&#xff0c;不支持bit&#xff0c;并且对大小写 不敏感。 2、INCLUDES 包含 类似于 Spring 配置文件&#xff0c;可以通过 includes 包含&#xff0c;redis.conf 可以作为总文件…...

linux磁盘空间满了

登录服务器&#xff0c;通过df -Hl查看 确定告警信息一致&#xff0c;接着是找到占用空间大目录或文件 一种比较笨的方法是&#xff0c;在根目录下&#xff0c;通过du -sh命令&#xff0c;列出各目录所占空间大小 之后再用同样的方法继续到对应目录下去找 再相对高效一点的…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...