如何联合Qt,VS,C++,来开发一个电脑版软件(简单有趣,详细)

本教程适合

新手VS+QT小白。目前更新到了可以写一个计算器【拉到文章末尾,可以看到界面】。

前置安装

VS2019 或2022 社区版(这个太简单,就不在这里写了!)建议参考之前写的文章:

https://zhuanlan.zhihu.com/p/682531067

注册登陆Qt账户

Try Qt

在这里插入图片描述

下载Qt

登陆之后,在Qt官网下载页面,下载Qt Online Installer(我的电脑是windows)。
在这里插入图片描述

点击之后,填写一些内容,就会进入下载过程,如下。
在这里插入图片描述

安装Qt

运行安装程序,这个过程需要输入公司名。

关键步骤1:建议选择第一个(自定义安装)。
关键步骤2:选择D盘,不建议选择默认C盘。
在这里插入图片描述

选择适合你的VS版本的编译器对应的Qt版本。例如,如果你使用的是VS 2019,确保选择与之兼容的Qt版本和对应的MinGW或MSVC版本。
在这里插入图片描述

Qt 的安装组件分为三个部分:“Preview”,Qt ,以及 QT Design Studio如何理解?

1. Preview

含义:
这部分包含了Qt的预览版组件(还未正式发布的新版本或功能),通常用于提供对Qt最新技术的早期访问,供开发者测试和提前适应新特性。

用途:
适用于那些希望在项目中尝试最前沿技术,或参与Qt社区,为新版本提供反馈的开发者。不过,考虑到稳定性和兼容性,预览版组件可能不适合用于生产环境。

2. Qt

含义:
这是Qt框架的核心部分,包括了所有正式发布的库和APIs。Qt提供了跨平台的应用程序开发能力,支持桌面、嵌入式和移动平台应用的开发。

用途:
这个部分是大多数Qt开发者需要安装的。它包括了开发应用所需的所有基本工具和库,例如Qt Widgets用于桌面应用开发,Qt Quick用于创建动态UI,以及其他模块如网络、数据库、图形视图等。

3. Qt Design Studio

含义:Qt Design Studio是一个设计和开发工具,它允许设计师和开发者紧密合作,将设计视觉转化为工作的Qt Quick代码。它提供了一套工具,包括UI设计、动画制作和原型演示。

用途:这个组件适用于那些项目中需要设计师和开发者密切协作的团队。它帮助桥接了设计和开发的差距,使得从设计到实际应用的转换更加高效和无缝。

> 在安装Qt时,怎么选择合适的组件?

如果你需要访问Qt的最新特性和技术,可以安装Preview。
对于大多数开发项目,Qt部分是必须的,它提供了开发所需的所有核心功能。
如果你的项目涉及到复杂的UI设计,且需要设计师和开发者紧密合作,可以选择Qt Design Studio工具。
点击下一步,进行傻瓜式安装(这一步稍微慢一些,需要6个多小时,实际用了1天半,中间会各种卡壳,需要手动点击重试 retry 一下)。

在这里插入图片描述

安装完成界面如下:
在这里插入图片描述

安装Qt插件

打开VS,在扩展和更新窗口中,先选择联机(即在线搜索插件),然后输出查询关键字“qt”,在结果列表中找到“Qt Visual Studio Tools”项并点击下载。
在这里插入图片描述

下载完成后,就会看到如下提示:
在这里插入图片描述

因此,我们点击“关闭”,然后点击弹出窗口中的“Modify”,将会自动进行安装。

安装完成如下:
在这里插入图片描述

结下来就需要打开VS,配置开发环境了。

VS 创建 Qt 项目

新建项目

选择文件,新建项目。
在这里插入图片描述

项目类型选择Qt,就会看你到如下几个选项。怎么选模板呢?

在这里插入图片描述

模板选择

我们来讲一下:

  1. Qt Designer Custom Widget模板

用于创建自定义的Qt Designer小部件。
如果你打算创建一个可以在Qt Designer中重复使用的自定义控件,那么你可以选择这个模板。

  1. Qt Console Application模板

控制台应用程序模板,适用于不需要图形用户界面(GUI),只在命令行界面(CLI)下运行的应用程序。
如果你只需要一个运行在终端或命令提示符下的程序,那么这个选项是合适的。

  1. Qt ActiveQt Server模板

ActiveQt 是 Qt 的一个模块,用于与 Microsoft’s COM 技术集成。
用于创建一个ActiveQt服务器项目。
如果你要创建一个可以作为COM组件提供服务的应用程序,你可以选择这个模板。

  1. Qt Quick Application模板

用于创建基于QML的Qt Quick应用程序。
Qt Quick是用于构建具有动态用户界面的应用程序的技术。
如果你打算创建一个现代的、高度交互式的GUI应用程序,那么选择这个模板是合适的。

  1. Qt Empty Application模板

创建一个空的Qt应用程序项目,没有预先设置的UI或其他特定的设置。
如果你想从头开始构建你的应用程序,并且想要完全控制整个项目的结构,那么这个选项最适合你。
抱歉我遗漏了这些部分。我会补充这两个选项的意义。

  1. Qt Class Library模板

为了创建一个Qt类库,即一组可以在多个Qt程序之间共享和重用的类(函数、数据结构等)。
如果你的目标是创建一个提供特定功能或服务的库,而不是一个完整的应用程序,你应该选择这个模板。
类库可以被其他Qt应用程序链接和使用,它们通常用于封装业务逻辑或一组通用功能。

  1. Qt Widgets Application模板

用于创建一个基于Qt Widgets的标准GUI应用程序。
Widgets是Qt为创建传统桌面应用程序提供的一套UI组件,例如按钮、文本框、标签等。
如果你想要创建一个看起来像传统桌面软件的应用程序,比如文件编辑器、图形工具或任何其他需要标准窗口和控件的软件,那么选择这个模板是合适的。

做一个比喻

Qt Widgets Application

就像是购物中心的主建筑。它是最传统的结构,包括所有的基本设施,比如电梯、楼梯和走廊。在Qt中,Widgets是传统的GUI组件,用于构建具有按钮、对话框、输入框等标准界面元素的应用程序。

Qt Quick Application

就像是一个现代化的购物中心,它有一个开放的平面设计,带有高科技的互动屏幕和动态灯光。这是使用QML和Qt Quick技术构建的,特别适合需要高度动态和视觉上吸引人的界面的应用程序。

Qt Console Application

就像是购物中心的仓库或后勤办公室。它不为顾客所见,但它是使整个运营顺畅进行的关键。同样地,控制台应用程序在命令行界面上运行,没有图形用户界面,适合后台处理和没有需求GUI的程序。

Qt Designer Custom Widget

就像是购物中心内部设计师为特定品牌定制的展示窗。这是一个专门为Qt Designer创建的自定义控件,你可以在你的应用程序或其他项目中重用这些控件。

Qt Empty Application

就像是购物中心的一块空地,等待被开发。你可以完全根据自己的规划来构建它。这个模板提供了一个空白的画布,让你从头开始构建你的Qt应用程序。

Qt Class Library

就像是购物中心里的多个商店。每个商店

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

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

相关文章

iOS开发 - 转源码 - __weak问题解决

iOS开发 - 转源码 - __weak问题解决 在使用clang转换OC为C代码时,可能会遇到以下问题 cannot create __weak reference in file using manual reference 原因 __weak弱引用是需要runtime支持的,如果我们还只是使用静态编译,是无法正常转换的…

Jenkins的快速入门

文章目录 一、Jenkins是什么?二、Jenkins安装和持续集成环境配置1.持续集成流程说明2.Gitlab代码托管服务器安装Gitlab简介:Gitlab安装Gitlab的使用切换中文添加组创建用户将用户添加到组创建项目idea中代码上传Gitlab 3.Jenkins持续集成环境服务器安装J…

在MongoDB建模1对N关系的基本方法

“我在 SQL 和规范化数据库方面拥有丰富的经验,但我只是 MongoDB 的初学者。如何建立一对 N 关系模型?” 这是我从参加 MongoDB 分享日活动的用户那里得到的最常见问题之一。 我对这个问题没有简短的答案,因为方法不只有一种,还有…

【Python实战】——神经网络识别手写数字

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

【C++从练气到飞升】05---运算符重载

🎈个人主页:库库的里昂 ✨收录专栏:C从练气到飞升 🎉鸟欲高飞先振翅,人求上进先读书。 目录 ⛳️推荐 一、运算符重载的引用 二、运算符重载 三、赋值运算符重载 1 .赋值运算符重载格式: 2 .赋值运算符只能重载成…

SAP 标准委外业务对已收货后对组件的后续调整简介

标准委外业务对已收货后对组件的后续调整 通常在委外的业务中经常会存在发给供应商的物料发现有少发,或者需要补发的情况,委外的业务都是基于采购订单收货的时候才对供应商库存进行扣减。委外成品在收货后产生543的移动类型原材料进行冲消。 但是我们在物…

【C语言】编译和链接----预处理详解【图文详解】

欢迎来CILMY23的博客喔,本篇为【C语言】文件操作揭秘:C语言中文件的顺序读写、随机读写、判断文件结束和文件缓冲区详细解析【图文详解】,感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言 欢迎来到本篇博客&…

继承和多态(2)(多态部分)

提前讲的重要知识点 一个类在没有父类的情况下默认有一个父类为Object类。 而当在有父类情况下,如果你那父类没有父类,则其父类的父类默认为object类,所以即使一个类有父类,其内部还是有object类。 object类都是隐藏起来的&…

【机器学习】基于北方苍鹰算法优化的BP神经网络分类预测(NGO-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】北方苍鹰优化算法(NGO)原理及实现 2.设计与实现 数据集: 数据集样本总数2000 多输入单输出:样本特征24&#x…

Vue3:网页项目中路由的设计和配置

为了避免我每次建项目配路由的时候都回去翻网课,打算整一博客 路由设计 不同网页的路由设计思路基本相同,分为一级路由和二级路由,基本设计思路如下图 以我之前做过的招新系统管理端为例,可设计出如下路由 路由配置 还是以招新系…

剖析美国政府视角下的ICT供应链安全

2018 年 11 月 15 日,美国国土安全部(DHS)宣布成立了信息和通信技术 (ICT) 供应链风险管理(SCRM)工作组,这个工作组是由美国多个政府部门、IT行业企业代表及通信行业企业代表联合成立的。该组织对外宣传的目…

Docker Command

小试牛刀 # 查看docker版本 docker -v docker --version # 查看帮助 docker --help # 永远的Hello World docker run hello-world镜像操作 查看本地已有的镜像 docker images -a :列出本地所有的镜像(含中间映像层) -q :只显示镜像ID --digests :显示…

C# 右键快捷菜单(上下文菜单)的两种实现方式

在C#中,ContextMenuStrip是一种用于创建右键菜单的控件。它提供了一种方便的方式来为特定的控件或窗体添加自定义的上下文菜单选项。有两种实现方式,如下: 一.通过ContextMenuStrip控件实现 1.从工具箱中拖一个ContextMenuStrip控件到窗体上…

Java面试题总结200道(四)

76、ApplicationContext 通常的实现是什么? FileSystemXmlApplicationContext :此容器从一个 XML 文件中加 载 beans 的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。ClassPathXmlApplicationContext:此容器也从一个 XML 文件…

python、execl数据分析(数据描述)

一 python 1.各函数 1.1python库的安装与导入 #pip install os#pip install matplotlib#pip install seaborn#pip install scikit-learn#pip install scipy#修 改 工 作 目 录import osos.getcwd () # 查看当前工作环境os.chdir( F :\my course\database ) # 修改工作环境o…

数据挖掘不是挖土豆,而是让数据开口说话!

文章目录 1、 缘起1.1 啤酒与尿布 - 发现商业价值1.2 数据挖掘 - 让数据说话 2、数据挖掘的难点3、数据挖掘的方法 Part 1 - 专业技术流3.1 网络数据采集 - 代理技术3.2 网络数据采集 - 爬虫浏览器3.3 网络数据采集 - 网络解锁器3.4 网络数据采集 - Web Scraper IDE 4、数据挖掘…

力扣100热题[哈希]:最长连续序列

原题:128. 最长连续序列 题解: 官方题解:. - 力扣(LeetCode)题解,最长连续序列 :哈希表 官方解题思路是先去重,然后判断模板长度的数值是否存在,存在就刷新&#xff0c…

python类属性和global变量区别

数据成员是指在类中定义的变量,即属性,根据定义位置,又可以分为类属性和实例属性。 类属性定义在方法前面。 定义类属性,非全局变量 class MyClass:#global cc 10 ## 类属性def my_function(self):global qwqw 9print(this …

Vue项目使用process.env关键字及Vue.config.js配置解决前端跨域问题

1.process.env 是Node.js 中的一个环境 1.打开命令行查看环境: 2.process.env与Vue CLI 项目 Vue Cli 有以下三种运行模式 development 模式用于 vue-cli-service serve test 模式用于 vue-cli-service test:unit production 模式用于 vue-cli-service build 和 vue-cli-se…

酷炫的粒子动态表白HTML源码

源码介绍 酷炫的粒子动态表白HTML源码,自己自定义文字,动态组合文字,进行表白,喜欢的朋友可以下载使用,很不错的表白HTML代码 下载地址 酷炫的粒子动态表白HTML源码