AwesomeQt:最小的Qt6系列迷你版本教程发布!

AwesomeQt:最小的Qt6系列迷你版本教程发布!

嘿!这里是CharlieChen!

Awesome-Embedded-Learning-Studio/Tutorial_AwesomeQt: https://github.com/Awesome-Embedded-Learning-Studio/Tutorial_AwesomeQt

这个仓库是一个迷你的小Qt集中加油站,这是我们很早的约定!笔者尝试接触Qt 3年多,马上第四年。虽然不算老油条,自己也觉得自己就是一个Qt新人。

但是每一次想起来自己第一次接触 Qt 的时候,对着 QObject::connect 的四个参数发呆了一整个下午,后来又因为忘记加 Q_OBJECT 宏收获了一个莫名其妙的 vtable 错误。信号槽跨线程翻车、对象树内存管理踩雷、MOC 生成的代码里迷失方向......这些坑一个没落下。也算是充实自己坎坷的Qt生涯!

Github上的仓库大多数都在展示自己优秀的Qt作品,但是似乎真的没有很多从方方面面层级教如何写Qt的仓库。笔者翻看了一下,要不就是围绕核心Qt5的老版本,要不就是有些太难啃。笔者突然想到------自己用Qt写过一些普通的小玩意,虽说不优秀,但是也算是趟过泥水的,为什么不把这些全部收集起来,做一个小小的全栈Qt小仓库并且公开维护呢?这就是这个小仓库的由来!

这个版本有什么?

Beginner教程的更新完全,进入维护期!

这个版本可能会让老手比较失望,因为笔者更新的部分是一些比较基础的内容,比起来原理更加像是一个简单的Qt API使用Handbook!虽然搞了好几个月,不过好歹是慢慢发展起来逐步充实内容了!追随这个系列的朋友知道------

  1. 教程的最开始是环境搭建部分!覆盖了 Qt 6.9.1 在 Windows、Linux 和 WSL2 上的完整安装流程,以及 VS Code、CLion、Qt Creator 三种 IDE 的配置方式,加上一个从零跑通的最小 CMake 工程 ------ 这是所有后续内容的基础。
  2. QtBase 核心模块,从 QObject 元对象系统和信号槽讲起,到字符串处理、容器、QVariant、内存管理、事件循环、文件读写、多线程、QProcess、定时器、插件系统、国际化、日志和正则表达式,最后收在 JSON/XML 解析上。学完这些,Qt 的核心机制基本就通了。这部分各个平台正在更新!
  3. 在之后是------QtGui ,涵盖 QPainter 绘图、坐标变换、QImage/QPixmap 图像处理、字体渲染、QOpenGLWidget 嵌入 OpenGL,以及拖放系统。这部分是后续自定义控件和图形密集型应用的基础。
  4. QtWidgets 是整个入门层的大头,前面讲主题能力(布局系统、事件处理、Model/View 架构、QSS 样式表、自定义绘制、对话框体系、QMainWindow 主窗口、图形视图框架、属性动画、MDI 多文档界面),后面是按控件分类的速查手册 ------ 按钮类、输入类、显示类、容器类、列表/树/表格视图、对话框,所有标准 Widget 都有独立的文章和配套示例!
  5. 网络编程部分有 6 篇,TCP、UDP、HTTP、WebSocket、SSL/TLS 和串口通信各一篇,读完能覆盖绝大多数 Qt 网络场景。扩展模块 25 篇,从 SQL 数据库和 QtCharts 图表,到 Multimedia 播放器/相机、SVG、Bluetooth、NFC、MQTT、Modbus、SCXML 状态机、Qt3D、QtPdf、HttpServer、WebEngine、RemoteObjects、空间音频和语音合成,基本把 Qt 6 的扩展生态扫了一遍。只是在玩imx6ull移植的时候,粗粗的过了一轮!
  6. QML笔者不太熟悉!笔者只好偷偷把自己的 QML学习笔记偷过来组成了新手章节(这方面我纯新手!纯的!),语法基础、属性绑定、QtQuick Controls、C++ 与 QML 互操作、动画/状态、Model/Delegate 模式、Canvas 和粒子系统的最最基本的使用,笔者跟着Qt Example体验了一下hhh
一些各种常见组件的手搓!

笔者当时思考仓库发展的时候稍微想了一下,好用的控件库到处都是,但是好像太多的人讲这些如何做出来。那我就来加入大军!现在一些组件笔者在慢慢实现!这部分也会单独出教程,不过不会发布到平台上(嗯。。。我不太喜欢这样倒教程,怕污染互联网,写的东西太菜不够看!),而是按照Github静态网站的形式提供URL链接!

接下来我们做什么

这说啥了!给我自己上难度啃Qt去了!啃的结果就是后续更加深入基层原理的Qt教程,以及更多组件(如果他们确实有用的话!)的教程咯!

更新的内容不多,但是有迷你的雏形了!所以是v0.1.0!


仓库地址就在这里,欢迎Star支持一下!或者Fork!:https://github.com/Awesome-Embedded-Learning-Studio/Tutorial_AwesomeQt

文档站,如果是想看优先,这里的文档站会满足您的需求!(大概!):https://awesome-embedded-learning-studio.github.io/Tutorial_AwesomeQt/

有任何意见?速速来这里反馈:https://github.com/Awesome-Embedded-Learning-Studio/Tutorial_AwesomeQt/issues,笔者第一时间响应!

相关推荐
开开心心就好1 小时前
一键扫描电脑重复文件的实用工具
linux·运维·服务器·随机森林·智能手机·excel·启发式算法
小小de风呀1 小时前
de风——【从零开始学C++】(四):类和对象(下)
开发语言·c++·算法
CSCN新手听安2 小时前
【Qt】系统相关(一)内容简介,事件概念,事件的处理
开发语言·c++·qt
不想写代码的星星2 小时前
重识 std::tuple:一个被低估的编译期异构容器
开发语言·c++
嵌入式×边缘AI:打怪升级日志2 小时前
Tina SDK Linux Kernel 基本使用(实战篇:为开发板添加用户按键驱动支持)
linux·运维·服务器
瞎折腾啥啊2 小时前
VCPKG详细使用教程
linux·c++·cmake·cmakelists
爱莉希雅&&&3 小时前
MySQL MGR + MySQL Router 高可用集群完整笔记(含手动配置 + Shell 接管双路线)
linux·数据库·笔记·mysql·mysqlrouter·mysqlshell
比特 GOK3 小时前
Qt项目ui文件中新添加的控件在代码中不识别的问题解决
开发语言·qt·ui
楼田莉子3 小时前
仿Muduo的高并发服务器:LoopThread模块及其ThreadPool模块
linux·服务器·c++·后端·学习