零基础学QT、C++(一)安装QT
目录
如何快速学习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文件
特性 | CMake | Maven |
---|---|---|
主要功能 | 项目构建工具,生成构建系统(如 Makefile 或 Visual Studio 项目) | 项目构建工具 + 依赖管理工具 |
配置文件 | CMakeLists.txt | pom.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、导入开源项目
ElaWidgetTools
https://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站:山岳两茫茫的个人空间-山岳两茫茫个人主页-哔哩哔哩视频
相关文章:

零基础学QT、C++(一)安装QT
目录 如何快速学习QT、C呢? 一、编译器、项目构建工具 1、编译器(介绍2款) 2、项目构建工具 二、安装QT 1、下载QT安装包 2、运行安装包 3、运行QT creator 4、导入开源项目 总结 闲谈 如何快速学习QT、C呢? 那就是项目驱动法&…...
SQL注入(SQL Injection)详解与实战
文章目录 一、什么是SQL注入?二、常见SQL注入类型三、手动注入步骤(以CTF题目为例)四、CTF实战技巧五、自动化工具:SQLMap六、防御措施七、CTF例题八、资源推荐 一、什么是SQL注入? SQL注入是一种通过用户输入构造恶意…...

【Prometheus】prometheus结合domain_exporter实现域名监控
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...

Java 设计模式之命令模式
文章目录 Java 设计模式之命令模式概述UML代码实现简单实现复杂实现 Java 设计模式之命令模式 概述 命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可…...

BT401双模音频蓝牙模块如何开启ble的透传,有什么注意事项
BT401音频蓝牙模块如何开启ble的透传? 首先BT401的蓝牙音频模块,分为两个版本,dac版本和iis数字音频版本 DAC版本:就是BT401蓝牙模块【9和10脚】直接输出模拟音频信号,也就是说,直接推动耳机可以听到声音 …...
利用二分法+布尔盲注、时间盲注进行sql注入
一、布尔盲注: import requestsdef binary_search_character(url, query, index, low32, high127):while low < high:mid (low high 1) // 2payload f"1 AND ASCII(SUBSTRING(({query}),{index},1)) > {mid} -- "res {"id": payloa…...
Vue 项目登录的基本流程
Vue 用户登录的基本流程包括以下6个步骤: 步骤: 1. 创建登录表单 在前端,首先要创建一个登录表单,用户输入账号(用户名、邮箱、手机号等)和密码。 示例:Login.vue <template><div…...

kubernetes源码分析 kubelet
简介 从官方的架构图中很容易就能找到 kubelet 执行 kubelet -h 看到 kubelet 的功能介绍: kubelet 是每个 Node 节点上都运行的主要“节点代理”。使用如下的一个向 apiserver 注册 Node 节点:主机的 hostname;覆盖 host 的参数࿱…...

Web3 开发者周刊 36 | 构建自主未来:Agent、可扩展性与赏金
欢迎来到 Web3 开发者周刊 36,这里汇聚了赋能您的 Web3 构建之旅的各种资源。本周我们将剖析基于Agent的系统,讨论来自 Vitalik 关于以太坊 L1 和 L2 的最新思考,并提供最新高价值Bounty消息。 开始Build吧! ✅ One Trillion Age…...

零基础入门机器学习 -- 第十一章机器学习模型的评估与优化
如何判断你的模型到底行不行? 11.1 为什么需要评估模型? 场景设定:信用卡欺诈检测 想象你是ABC银行的风控经理,你每天的工作就是盯着上百万笔交易,防止客户的信用卡被盗刷。 你们银行新推出了一款机器学习模型&…...

菜鸟之路Day15一一IO流(一)
菜鸟之路Day15一一IO流(一) 作者:blue 时间:2025.2.8 文章目录 菜鸟之路Day15一一IO流(一)0.概述1.初识IO流1.1.什么是IO流?1.2.IO流的作用1.3.IO流的分类 2.IO流的体系结构3.字节输出流的基本…...

动手学Agent——Day2
文章目录 一、用 Llama-index 创建 Agent1. 测试模型2. 自定义一个接口类3. 使用 ReActAgent & FunctionTool 构建 Agent 二、数据库对话 Agent1. SQLite 数据库1.1 创建数据库 & 连接1.2 创建、插入、查询、更新、删除数据1.3 关闭连接建立数据库 2. ollama3. 配置对话…...

JSONObject,TreeUtil,EagelMap,BeanUtil使用
目录 JSONObject的使用 TreeUtil的使用 EagleMap使用 安装 application.yml配置 springboot导入依赖 配置信息 简单使用 如果想获取这个json字符串里面的distance的值 BeanUtil拷贝注意 JSONObject的使用 假如我现在要处理这样的json数据 可以直接使用JSONUtil.parseObj…...

Unity嵌入到Winform
Unity嵌入到Winform Winform工程🌈...

TCP/UDP协议与OSI七层模型的关系解析| HTTPS与HTTP安全性深度思考》
目录 OSI 7层模型每一层包含的协议: TCP和UDP协议: TCP (Transmission Control Protocol): UDP (User Datagram Protocol): 数据包流程图 TCP与UDP的区别: 传输层与应用层的关联 传输层和应用层的关联…...

《Zookeeper 分布式过程协同技术详解》读书笔记-2
目录 zk的一些内部原理和应用请求,事务和标识读写操作事务标识(zxid) 群首选举Zab协议(ZooKeeper Atomic Broadcast protocol)文件系统和监听通知机制分布式配置中心, 简单Demojava code 集群管理code 分布式锁 zk的一…...

缺陷检测之图片标注工具--labme
一、labelme简介 Labelme是开源的图像标注工具,常用做检测,分割和分类任务的图像标注。 它的功能很多,包括: 对图像进行多边形,矩形,圆形,多段线,线段,点形式的标注&a…...
机器学习_13 决策树知识总结
决策树是一种直观且强大的机器学习算法,广泛应用于分类和回归任务。它通过树状结构的决策规则来建模数据,易于理解和解释。今天,我们就来深入探讨决策树的原理、实现和应用。 一、决策树的基本概念 1.1 决策树的工作原理 决策树是一种基于…...
请解释一下Standford Alpaca格式、sharegpt数据格式-------deepseek问答记录
1 Standford Alpaca格式 json格式数据。Stanford Alpaca 格式是一种用于训练和评估自然语言处理(NLP)模型的数据格式,特别是在指令跟随任务中。它由斯坦福大学的研究团队开发,旨在帮助模型理解和执行自然语言指令。以下是该格式的…...
ubuntu 安装管理多版本python3 相关问题解决
背景:使用ubuntu 22.04 默认python 未3.10.编译一些模块的时候发现需要降级到python3.9.于是下载安装 下载: wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz解压与编译 tar -xf Python-3.9.16.tgz cd Python-3.9.16 ./configure -…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...

npm安装electron下载太慢,导致报错
npm安装electron下载太慢,导致报错 背景 想学习electron框架做个桌面应用,卡在了安装依赖(无语了)。。。一开始以为node版本或者npm版本太低问题,调整版本后还是报错。偶尔执行install命令后,可以开始下载…...

基于谷歌ADK的 智能产品推荐系统(2): 模块功能详解
在我的上一篇博客:基于谷歌ADK的 智能产品推荐系统(1): 功能简介-CSDN博客 中我们介绍了个性化购物 Agent 项目,该项目展示了一个强大的框架,旨在模拟和实现在线购物环境中的智能导购。它不仅仅是一个简单的聊天机器人,更是一个集…...