零基础学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 -…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
















