零基础学QT、C++(一)安装QT

news2025/5/24 17:21:46

目录

如何快速学习QT、C++呢?

一、编译器、项目构建工具

1、编译器(介绍2款)

2、项目构建工具

二、安装QT

1、下载QT安装包

2、运行安装包

3、运行QT creator

4、导入开源项目

总结

闲谈

如何快速学习QT、C++呢?

那就是项目驱动法,搞一个感兴趣的项目来玩玩!

这个QT项目,每个组件都是作者手写的,俺想用来做一个简单数据管理系统玩玩

https://github.com/Liniyous/ElaWidgetTools

所以,当务之急,就需要搭建一个QT、C++的运行环境,然后运行这个项目

一、编译器、项目构建工具

在搭建之前呢,我就被各种编译器,还有那个cmake搞得晕头转向

1、编译器(介绍2款)

MSVC(Microsoft Visual C++)微软提供的一款强大的 C++ 编译器

MinGW(Minimalist GNU For Window)是个C/C++编译器

(我这里选择的是MSVC)反正能用就行~

他们的区别,就自行问ai

2、项目构建工具

Cmake就是一个项目构建工具(和Maven类似)

不过Maven还提供了第三方库的管理,下载,安装,删除等等

下图是Maven的项目配置文件pom.xml

下图是Cmakelist.txt文件

特性CMakeMaven
主要功能项目构建工具,生成构建系统(如 Makefile 或 Visual Studio 项目)项目构建工具 + 依赖管理工具
配置文件CMakeLists.txtpom.xml
依赖管理不直接提供依赖管理,需要手动或通过 find_package 查找库提供强大的依赖管理,自动下载和安装第三方库
跨平台支持支持跨平台(Windows、Linux、macOS 等)主要针对 Java 项目,跨平台性依赖于 JVM
构建系统生成生成 Makefile、Ninja、Visual Studio 项目等不生成构建系统,直接调用编译器(如 javac)
语言支持主要用于 C/C++,但也支持其他语言(如 Fortran)主要用于 Java,但也支持其他语言(通过插件)
插件生态插件较少,功能相对单一插件丰富,功能强大(如编译、测试、打包等)

二、安装QT

QT的安装面板会让我们选择安装MinGW编译器,也可以选择安装MSVC编译器

还会有qmake和Cmake的构建工具,这些我们都可以在面板里面自行选择

总之,QT面板已经为我们做了很多东西,我们只需要点点点就可以了,他都会集成好的

官方下载速度有点慢,而且QT自Qt 5.15版本后不在支持离线安装包下载(非商业版本,开源)

1、下载QT安装包

官方下载网站:

Index of /archive/qtcreator

清华园(推荐)速度快:

https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers

2、运行安装包

这里需要登录,自己注册一个就可以了,注册过程并不复杂

就是网络可能比较慢,耐心等待就行了,或者用用梯子

自定义安装 Custom Installation (自行选择安装目录)

自定义安装 Custom Installation (自行选择安装目录)

自定义安装 Custom Installation (自行选择安装目录)

跟着我的点就行了(如果后面有其他的安装需求,可以再打开这个面板,更新组件)

跟着我的点就行了(如果后面有其他的安装需求,可以再打开这个面板,更新组件)

跟着我的点就行了(如果后面有其他的安装需求,可以再打开这个面板,更新组件)

  • 我这里选择了MSVC编译器,没有选择MinGW(看个人选择吧)
  • QT版本我选择了6.8.2
  • 还有其他那些跟我的一样就行了

点击【安装】

接下来就耐心等待下载吧

如果出现弹窗(重试就行了)(期间他可能会弹出很多次,反正重试就可以了)

3、运行QT creator

我们可以创建一个项目看看

  • 这里就要选择构建工具(我们就选择Cmake吧)
  • Cmake和qmake的区别自行百度(或者问问ai)

创建一个项目,然后ctrl+R运行

4、导入开源项目

ElaWidgetToolshttps://github.com/Liniyous/ElaWidgetTools下载项目之后,放到一个文件夹里面

然后打开QT creator,选择打开项目

等待项目加载完成(下图是加载完成后的样子,有警告也问题不大)

加载完成后,直接ctrl+R运行(等待他编译一会就好了)

然后,就可以开始我们的魔改啦~

总结

1、了解C++的编译器、构建工具

2、安装QT creator,他里面集成好了C++编译器和构建工具

3、我们可以直接使用QT creator来运行项目,这里面还有很多丰富的示例,供我们学习

闲谈

  • QT creator里面有QT文档
  • 什么不懂搜什么
  • 不过现在有ai了,我都是ai梭哈,2333~

有什么不懂的,直接问ai,比百度来得快

  • 接下来就是快速过一遍菜鸟教程里面的C++
  • 然后开始看项目代码
  • 把项目代码丢给ai,让他加上注释
  • 对代码有疑惑,就问他为什么这样写

wxWidgets是一个开源的跨平台的C++构架库(framework)

桌面端框架还有很多很多...

C++学起来,当初配置环境就搞得我摸不着头脑

半天看不到 成果,心急得很!不过还好有大佬的耐心指导!

大佬b站:山岳两茫茫的个人空间-山岳两茫茫个人主页-哔哩哔哩视频

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

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

相关文章

Python SMTP 实现邮件发送功能

发送邮件的流程 登录我们邮箱, 书写接收者的邮箱, 书写题目与内容,添加附件, 点击发送。 邮件协议 smtp 是邮件发送的协议。pop3 是邮件接收的协议。 smtplib模块用法 创建协议对象:smtpObj smtplib.SMTP() 创建…

低价窜货要如何管控

在竞争激烈的市场环境中,低价与窜货就像一对如影随形的“孪生兄弟”,给品牌的健康发展带来了极大的困扰。低价销售不仅压缩了合理的利润空间,破坏了市场的价格体系,还会引发恶性竞争,让整个市场陷入混乱无序的状态。而…

《动手学机器人学》笔记

目录 0.介绍1.概述|空间位置、姿态的描述(33)|《动手学机器人学》2.(2)-Robotics Toolbox①(V10.4)3.齐次坐标与变换矩阵4.一般形式的旋转变换矩阵5.(轴角法)…

国产编辑器EverEdit - 文本编辑器的关键特性:文件变更实时监视,多头编辑不掉坑

1 监视文件变更 1.1 应用场景 某些时候,用户会使用多个编辑器打开同一个文件,如果在A编辑器修改保存,但是B编辑器没有重新打开,直接在B编辑器修改再保存,则可能造成在A编辑器中修改的内容丢失,因此&#x…

化学蛋白质组学与药物靶点筛选:DARTS、LiP-MS、TPP、CETSA技术的深度解析

更多详情请看:LiP-MS药物靶点筛选技术 在药物研发的复杂过程中,药物靶点的筛选是关键环节之一。化学蛋白质组学技术的出现,为药物靶点筛选提供了强大的工具,化学蛋白质组学是一门研究细胞或组织中全部蛋白质的化学组成、结构、功…

为AI聊天工具添加一个知识系统 之113 详细设计之54 Chance:偶然和适配 之2

本文要点 要点 祖传代码中的”槽“ (占位符变量) 和 它在实操中的三种槽(占据槽,请求槽和填充槽, 实时数据库(source)中数据(流入 ETL的一个正序流程 行列并发 靶向整形 绑定变量 &#xff09…

PINN求解一维burgers方程

PINN求解一维burgers方程 模型搭建网络与训练结果可视化对比实际结果 完整代码下载链接 PINN求解一维burgers方程 模型 搭建网络与训练 #########-------------- python求解一维burgers方程-------------------################## # -*- coding: utf-8 -*- import os os.envi…

Android 动态加入Activity 时 manifest 注册报错解决。使用manifestPlaceholders 占位

需求如下: 项目 测试demo 有多个渠道,部分渠道包含支付功能,在主测试代码外,需要一个单独 Activity 调用测试代码。 MainActivityPayActivity渠道A包含不包含渠道B包含包含 因为支付功能需要引入对应的 moudule,因此…

【相聚青岛】人工智能与材料国际学术会议即将召开

一、大会简介 人工智能与材料国际会议(ICAIM 2025) 官方网站:www.ic-aim.net 官方邮箱:icaim2025163.com 会议时间:2025年3.21-24 会议地点:中国青岛 会议检索:EI检索 截稿时间:2月…

BFS 解决 FloodFill 算法(典型算法思想)—— OJ例题算法解析思路

目录 一、733. 图像渲染 - 力扣(LeetCode) 算法代码: 算法思路 基础参数 函数入口 检查条件 初始化 BFS BFS 填充过程 返回结果 复杂度分析 总结 二、200. 岛屿数量 - 力扣(LeetCode) 算法代码:…

前端导出word文件,并包含导出Echarts图表等

基础导出模板 const html <html><head><style>body {font-family: Times New Roman;}h1 {text-align: center;}table {border-collapse: collapse;width: 100%;color: #1118FF;font-weight: 600;}th,td {border: 1px solid black;padding: 8px;text-align: …

【复现DeepSeek-R1之Open R1实战】系列8:混合精度训练、DeepSpeed、vLLM和LightEval介绍

这里写目录标题 1 混合精度训练1.1 FP16和FP321.2 优点1.3 存在的问题1.4 解决办法 2 DeepSpeed3 vLLM3.1 存在的问题3.2 解决方法3.2.1 PagedAttention3.2.2 KV Cache Manager3.2.3 其他解码场景 3.3 结论 4 LightEval4.1 主要功能4.2 使用方法4.3 应用场景 本文继续深入了解O…

大模型面经:SFT和RL如何影响模型的泛化或记忆能力?

监督微调 (SFT) 和强化学习 (RL)都是目前大模型的基础模型后训练技术&#xff0c;像DeepSeek-R1、kimi等的训练方法都将两种技术应用到了极致。 如何去设计训练步骤&#xff08;先SFT再RL&#xff0c;还是直接RL&#xff09;都需要对SFT和RL的能力有较深刻的了解。 本篇就以面…

2025-02-20 学习记录--C/C++-PTA 7-27 冒泡法排序

一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ /** * 冒泡法实现升序 */#include <stdio.h>int main() {int N, // 整数个数 6K, // 扫描遍数 2num, // 待排序的整数 2 3 5 1 6 4numArr[100], // 待排序的整数合集 2 3 5 1…

RK3588配置成为路由器

文章目录 前言一、配置netplan二、安装hostapd1.创建hostapd.conf文件2.安装软件3.修改启动文件4.修改/etc/default/hostapd 文件 三、安装dnsmasq服务四、配置NET及重启验证五、常见问题总结 前言 RK3588开发板有两个网口&#xff0c;一个无线网卡。我需要配置为家用路由器模…

【数据挖掘】--算法

【数据挖掘】--算法 目录&#xff1a;1. 缺失值和数值属性处理1缺失值处理&#xff1a; 2. 用于文档分类的朴素贝叶斯3. 分治法&#xff1a;建立决策树4. 覆盖算法建立规则5. 挖掘关联规则6. 线性模型有效寻找最近邻暴力搜索&#xff08;Brute-Force Search&#xff09;kd树&am…

Huatuo热更新--如何使用

在安装完huatuo热更新插件后就要开始学习如何使用了。 1.创建主框渐Main 新建文件夹Main&#xff08;可自定义&#xff09;&#xff0c;然后按下图创建文件&#xff0c;注意名称与文件夹名称保持一致 然后新建场景&#xff08;Init场景&#xff09;&#xff0c;添加3个空物体…

基于Django快递物流管理可视化分析系统(完整系统源码+数据库+详细开发文档+万字详细论文+答辩PPT+详细部署教程等资料)

文章目录 基于Django快递物流管理可视化分析系统&#xff08;完整系统源码数据库详细开发文档万字详细论文答辩PPT详细部署教程等资料&#xff09;一、项目概述二、项目说明三、研究意义四、系统设计技术架构 五、功能实现六、完整系统源码数据库详细开发文档万字详细论文答辩P…

基于射频开关选择的VNA校准设计

活动发起人小虚竹 想对你说&#xff1a; 这是一个以写作博客为目的的创作活动&#xff0c;旨在鼓励大学生博主们挖掘自己的创作潜能&#xff0c;展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴&#xff0c;那么&#xff0c;快来参加吧&#xff01…

解决本地模拟IP的DHCP冲突问题

解决 DHCP 冲突导致的多 IP 绑定失效问题 前言 续接上一篇在本机上模拟IP地址。 在实际操作中&#xff0c;如果本机原有 IP&#xff08;如 192.168.2.7&#xff09;是通过 DHCP 自动获取的&#xff0c;直接添加新 IP&#xff08;如 10.0.11.11&#xff09;可能会导致 DHCP 服…