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

零基础学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文件

特性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站:山岳两茫茫的个人空间-山岳两茫茫个人主页-哔哩哔哩视频

相关文章:

零基础学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注入

一、布尔盲注&#xff1a; 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个步骤&#xff1a; 步骤&#xff1a; 1. 创建登录表单 在前端&#xff0c;首先要创建一个登录表单&#xff0c;用户输入账号&#xff08;用户名、邮箱、手机号等&#xff09;和密码。 示例&#xff1a;Login.vue <template><div…...

kubernetes源码分析 kubelet

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

Web3 开发者周刊 36 | 构建自主未来:Agent、可扩展性与赏金

欢迎来到 Web3 开发者周刊 36&#xff0c;这里汇聚了赋能您的 Web3 构建之旅的各种资源。本周我们将剖析基于Agent的系统&#xff0c;讨论来自 Vitalik 关于以太坊 L1 和 L2 的最新思考&#xff0c;并提供最新高价值Bounty消息。 开始Build吧&#xff01; ✅ One Trillion Age…...

零基础入门机器学习 -- 第十一章机器学习模型的评估与优化

如何判断你的模型到底行不行&#xff1f; 11.1 为什么需要评估模型&#xff1f; 场景设定&#xff1a;信用卡欺诈检测 想象你是ABC银行的风控经理&#xff0c;你每天的工作就是盯着上百万笔交易&#xff0c;防止客户的信用卡被盗刷。 你们银行新推出了一款机器学习模型&…...

菜鸟之路Day15一一IO流(一)

菜鸟之路Day15一一IO流&#xff08;一&#xff09; 作者&#xff1a;blue 时间&#xff1a;2025.2.8 文章目录 菜鸟之路Day15一一IO流&#xff08;一&#xff09;0.概述1.初识IO流1.1.什么是IO流&#xff1f;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工程&#x1f308;...

TCP/UDP协议与OSI七层模型的关系解析| HTTPS与HTTP安全性深度思考》

目录 OSI 7层模型每一层包含的协议&#xff1a; TCP和UDP协议&#xff1a; TCP (Transmission Control Protocol)&#xff1a; UDP (User Datagram Protocol)&#xff1a; 数据包流程图 TCP与UDP的区别&#xff1a; 传输层与应用层的关联 传输层和应用层的关联&#xf…...

《Zookeeper 分布式过程协同技术详解》读书笔记-2

目录 zk的一些内部原理和应用请求&#xff0c;事务和标识读写操作事务标识&#xff08;zxid&#xff09; 群首选举Zab协议&#xff08;ZooKeeper Atomic Broadcast protocol&#xff09;文件系统和监听通知机制分布式配置中心, 简单Demojava code 集群管理code 分布式锁 zk的一…...

缺陷检测之图片标注工具--labme

一、labelme简介 Labelme是开源的图像标注工具&#xff0c;常用做检测&#xff0c;分割和分类任务的图像标注。 它的功能很多&#xff0c;包括&#xff1a; 对图像进行多边形&#xff0c;矩形&#xff0c;圆形&#xff0c;多段线&#xff0c;线段&#xff0c;点形式的标注&a…...

机器学习_13 决策树知识总结

决策树是一种直观且强大的机器学习算法&#xff0c;广泛应用于分类和回归任务。它通过树状结构的决策规则来建模数据&#xff0c;易于理解和解释。今天&#xff0c;我们就来深入探讨决策树的原理、实现和应用。 一、决策树的基本概念 1.1 决策树的工作原理 决策树是一种基于…...

请解释一下Standford Alpaca格式、sharegpt数据格式-------deepseek问答记录

1 Standford Alpaca格式 json格式数据。Stanford Alpaca 格式是一种用于训练和评估自然语言处理&#xff08;NLP&#xff09;模型的数据格式&#xff0c;特别是在指令跟随任务中。它由斯坦福大学的研究团队开发&#xff0c;旨在帮助模型理解和执行自然语言指令。以下是该格式的…...

ubuntu 安装管理多版本python3 相关问题解决

背景&#xff1a;使用ubuntu 22.04 默认python 未3.10.编译一些模块的时候发现需要降级到python3.9.于是下载安装 下载&#xff1a; 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 -…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

ThreadLocal 源码

ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物&#xff0c;因为每个访问一个线程局部变量的线程&#xff08;通过其 get 或 set 方法&#xff09;都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段&#xff0c;这些类希望将…...