diff --git a/README.md b/README.md index 87618ce..b063abc 100644 --- a/README.md +++ b/README.md @@ -1,270 +1,273 @@ -# QtExamples: - -
- -
- - -                                我也不知道为什么,就是想放这么一张图在这里。 - -
- -[TOC] - -
- -## 项目介绍: - -  ✅ `Qt` 的 `GUI` 基础控件用法,网络; - -  ✅ `DTK` 重绘控件方式的框架解析; - -  ✅ `QtCrator` 使用和一些小技巧; - -  ✅ `Qt` 原理/运行机制理解 - -  自己所学记录,亦可以互相交流共享学习,**有朋自远方互联网而来,不亦悦乎?** - -
- -## 关于 QT 系列文章: - -​ 会将该系列的源码,文章等系列,全部托管于这个仓库,该系列的主线任务是讲解 **Qt** 的相关文章。 - -**开发系统:** `MacOS 10.14.6 (18G103)` | `win10 x64 专业版 1803` | `UOS 20 x64 专业版 ` - -**编码软件:** `Qt 5.9.8+` | `Qt Creator 4.8.2 (Enterprise)` - -**编码语言:**![](https://img.shields.io/badge/language-c++-orange.svg) - -
- -# 文章系列: - -## 第一部分:预备知识 - -- **windows 系统:** - - [`windows10`环境下安装`Qt Creator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt** (最佳推荐)](https://blog.csdn.net/qq_33154343/article/details/103674579) - - [Qt Creator 安装SDK,在MSVC编译模式下使用CDB调试器](https://blog.csdn.net/qq_33154343/article/details/98779698) - - [`windows`环境下安装`Qt Creator` + `Visual Studio 2015`作为`c++`的`IDE`开发工具,学习和使用**qt** (备选)](https://blog.csdn.net/qq_33154343/article/details/103755569) - - [`windows`环境下安装`Qt Creator 5.9` + `Visual Studio 2017专业版 ` 参考此文 (备选)](https://blog.csdn.net/qq_33154343/article/details/78587699) - - [Win10上CLion、CMake、MSVC/MinGW配置Qt开发](https://blog.csdn.net/qq_33154343/article/details/120070828) - - [VS2017调试Qt源码,安装PDB](https://blog.csdn.net/qq_33154343/article/details/120339797) - -
- -- **MacOS 系统:** - - - [`MacOS10.14.6`环境下安装`QtCreator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt**(推荐)](https://blog.csdn.net/qq_33154343/article/details/103231202) - -
- -- **Linux 系统:** - - [在win10里面的VMware安装UOS20,在uos20里面安装QtCreator,配置dtk开发环境](https://blog.csdn.net/qq_33154343/article/details/103733327) - - [MacOS10.14安装虚拟机Parallels_Desktop,安装UOS20和 QtCreaor,搭建dtk开发环境](https://blog.csdn.net/qq_33154343/article/details/104180794) - - [在macOS 10.14的虚拟机VMware Fusionlimian里面安装deepin15.11(Linux)](https://blog.csdn.net/qq_33154343/article/details/102789047) - - [重装uos/deepin v20后必安装软件(个人习惯)](https://xmuli.blog.csdn.net/article/details/106510975) - - [ArchLinux + DDE 安装教程](https://xmuli.blog.csdn.net/article/details/107696563) - -
- -- **IDE 基础讲解:** - - [Qt Creator` 此**IDE**的界面基本组成和入门使用讲解(Win,Linux,MacOS搭配不同版本 Qt)](https://blog.csdn.net/qq_33154343/article/details/103942733) - -
- -## 第二部分:Qt 生成原理/运行机制 - -- [`make` `makefile` `cmake` `qmake`都是什么,有什么区别?](https://blog.csdn.net/qq_33154343/article/details/98170236) -- [Qt 编程中 namespace Ui { class Widget; } 解析](https://blog.csdn.net/qq_33154343/article/details/98122981) - -
- -## 第三部分:常用 GUI 控件 - -- 一个默认的`Qt Widget`项目 【空】 -- [元对象系统moc(Meat-Object System)的对象MetaObject和(含动态)属性Propert的用法](https://xmuli.blog.csdn.net/article/details/105925608) 【QtMeatObjectEx】 -- [`QString`在2 /8/10/16进制之间转换](https://blog.csdn.net/qq_33154343/article/details/100860030) 【QtQStringEx】 -- [`QString`常用的功能函数的介绍和用法](https://blog.csdn.net/qq_33154343/article/details/100860270) 【QtQStringFunEx】 -- [`QSlider`和`QAbstractSlider`的介绍和用法](https://blog.csdn.net/qq_33154343/article/details/100944831)【QtQSliderEx】 -- [`QSlider`移动条、`QScrollBar`滚动条、`QProgressBar`进度条控件的联动](https://blog.csdn.net/qq_33154343/article/details/101003081)【QtQProgressBarEx】 -- [仪表盘`QSlider`和数值显示`QLCD_NUmber`的讲解和使用](https://blog.csdn.net/qq_33154343/article/details/101003115)【QtQdialQLCDEx】 -- [时间日期(`QTime`/`QDate`/`QDateTime`)和定时器(`QTimer`)的介绍和使用](https://blog.csdn.net/qq_33154343/article/details/101040841)【QtDateTimeEx】 -- [`QComboBox`(下拉列表框)和`QPlainTextEdit`(多行富文本编辑器)的用法](https://blog.csdn.net/qq_33154343/article/details/101127870) 【QtQcomboBoxEx】 -- [列表控件`QListWidget`和工具按钮`QToolButton`的和用法](https://blog.csdn.net/qq_33154343/article/details/101314908)【QtQListWidgetEx】 -- [目录树组件`QTreeWidget`和停靠区域组件`QDockWidget`的用法](https://blog.csdn.net/qq_33154343/article/details/103467757)【QtQTreeWidgetEx】 -- [`QTableWidget`表格组件的属性介绍和使用](https://blog.csdn.net/qq_33154343/article/details/103485154)【QtQTableWidgetEx】 -- [`QFileSystemModel`数据模型获取本机文件系统的使用](https://blog.csdn.net/qq_33154343/article/details/103544820)【QtQFileSystemModelEx】 -- [`getOpenFileName`标准对话框和自定义对话框的使用](https://blog.csdn.net/qq_33154343/article/details/103545066)【QtQDialogEx】 -- [`QTableView`和`QStandardItemModel`的用法](https://blog.csdn.net/qq_33154343/article/details/103572418)【QtQStandardItemModelEx】 -- [自定义和标准对话框的用法](https://blog.csdn.net/qq_33154343/article/details/103606981)【QtCustomDialogEx】 -- [多文档界面`MDI`(`Multi-document Interface`)的实现,`QMdiArea`使用](https://blog.csdn.net/qq_33154343/article/details/103625380)【QtMDIEx】 - -
- -## 第四部分:网络编程 - -- [主机信息查询`QHostInfo`和`QNetworkInterface`查询IP等](https://blog.csdn.net/qq_33154343/article/details/103707035)【QtQHostInfoEx】 -- [`TCP`通信之`QTcpServer`和`QTcpSocket`,服务器和客户端通讯](https://blog.csdn.net/qq_33154343/article/details/103759735)【QtTcpEx】 -- [`Upd`通信之`QUdpSocket`的`unicast`单播、`broadcast`广播、`multicast`组播](https://blog.csdn.net/qq_33154343/article/details/103789843)【QtUdpEx】 -- [`QNetworkAccessManager`/`QNetworkReply`/`QNetworkRequest`实现高层网络的操作`http`](https://blog.csdn.net/qq_33154343/article/details/103811638) 【QtHttpEx】 - -
- -## 第五部分:DTK 重绘控件原理解析(自定义样式 QStyle ) - -- **dtk 历史发展:** - - [DTK的历史起源、发展,和简单入门](https://xmuli.blog.csdn.net/article/details/106189533) 『🥳🥳』 - - [deepin、dde的历史起源与发展(附deepin所有版本的dde截图)](https://xmuli.blog.csdn.net/article/details/106195055) 『🥳🥳』 - - [UOS/Deepin 中配置 DTK 开发环境](https://xmuli.blog.csdn.net/article/details/112239518) 『🥳🥳』 - - [Deepin / DTK 文档参考资料集合](https://xmuli.blog.csdn.net/article/details/112244150) 『🥳🥳🥳🥳🥳』 -- **预备知识:** - - QStyle与QPen、QPush、QPalette、QPainter之间的区别 - - [DTK 基础教程:自定义控件规范](https://xmuli.blog.csdn.net/article/details/108536588) 『🥳🥳』 - - [QStyle设置界面的外观和QCommonStyle继承关系图讲解和使用](https://blog.csdn.net/qq_33154343/article/details/104367878) 『👩‍💻👩‍💻👩‍💻』 - - [qt之proxy()代理探究](https://blog.csdn.net/qq_33154343/article/details/101571843) -- **感性理解👀:** - - [应用软件在「UOS20和 MaOS10.14下」显示应用不同的QStyle「即:所有控件的样式换肤」](https://blog.csdn.net/qq_33154343/article/details/104305154) - - [应用软件在「windows10 和 deepin10.15下」显示应用不同的`QStyle`「即:所有控件的样式换肤」](https://blog.csdn.net/qq_33154343/article/details/100148552) -- **DTK 源码解析架构🤔:** - - [QStyle/DTK重绘Qt-GUI已有控件,举例QScrollBar](https://blog.csdn.net/qq_33154343/article/details/104537944) 『👩‍💻👩‍💻👩‍💻』 - - [QStyle/DTK重绘自定义需求控件,举例MySwitchButton](https://blog.csdn.net/qq_33154343/article/details/104987446) 『👩‍💻👩‍💻👩‍💻』 - - [DTK常用和测试代码片 ](https://xmuli.blog.csdn.net/article/details/106187959) - - [DTK 每日自动更新其 API 文档](https://xmuli.blog.csdn.net/article/details/108756933) - - [DTK 基础教程:自定义控件规范](https://xmuli.blog.csdn.net/article/details/108536588) [★★] - -
- -## 第六部分:Qt / IDE 出现乱码原因和解决: - -- [乱码原因产生和解决方案](https://xmuli.blog.csdn.net/article/details/109567352) [★★] - -- [ 输出乱码原因:古文码、口字码、符号码、问号码、棍拷码](https://blog.csdn.net/qq_33154343/article/details/99617767) -- [qt5 中文乱码解决](https://blog.csdn.net/qq_33154343/article/details/95344312) -- [Qt字符串有中文,编译不通过解决方法:](https://blog.csdn.net/qq_33154343/article/details/79130275) -- [乱码原因(Qt版本)_附上语文的pdf版本](https://blog.csdn.net/qq_33154343/article/details/79039644) -- [qt中文乱码问题](https://blog.csdn.net/qq_33154343/article/details/78686103) -- [借Qt中文乱码谈谈Coding中的编码问题](https://blog.csdn.net/qq_33154343/article/details/78686075) - -
- -- [Qt4和Qt5的信号和槽的使用差异](https://xmuli.blog.csdn.net/article/details/118346008) -- `qt`中 Lambda 表达式 - -
- -## 第七部分:QtCreator 的使用小技巧: - -- [QtCreator设置代码美化 astyle 之 Artistic](https://blog.csdn.net/qq_33154343/article/details/101397429) -- [Qt Creator 关闭.cpp文件右侧的黄色警告](https://blog.csdn.net/qq_33154343/article/details/102943623) -- [小技巧:Design设计师里,无法拖拽action到toolbar里](https://blog.csdn.net/qq_33154343/article/details/100168170) -- [小技巧:设置`QToolBox`的每一页page的使用单独的布局(`QTabWidget`同理)](https://blog.csdn.net/qq_33154343/article/details/100185025) -- [小技巧:QtCreator用快捷键秒实现,声明在基类中重写的派生类(纯)虚函数](https://blog.csdn.net/qq_33154343/article/details/104457739) -- [VS2019调试Qt5时QString显示为内存地址而非字符串](https://xmuli.blog.csdn.net/article/details/116244865) - -
- -## 第八部分:提交规范和发布 Qt 程序: - -- [约定式提交规范](https://www.conventionalcommits.org/zh-hans/v1.0.0-beta.4/) -- [Qt 项目在 Windows 平台上面发布成可执行程序](https://blog.csdn.net/qq_33154343/article/details/96448388) -- [Qt 项目在 MacOS 平台上面发布成可执行程序](https://xmuli.blog.csdn.net/article/details/96448938#comments) -- [Qt 项目在 Linux 平台上面发布成可执行程序](https://blog.csdn.net/qq_33154343/article/details/96448621) -- [如何给上游 Qt 提交 Bug 反馈和贡献代码 PATCH?](https://xmuli.blog.csdn.net/article/details/107220867) -- [Qt 项目用 doxygen 生成 .qch,嵌入文档到 Assistants](https://xmuli.blog.csdn.net/article/details/114580630) -- [修改 Doxygen 主题,生成 Qt 风格的文档](https://xmuli.blog.csdn.net/article/details/114591725) -- [QtCreator 中自定义项目例子置于“欢迎-实例”中](https://xmuli.blog.csdn.net/article/details/115049715) - -
- -## 第 九部分:高级 - -- [高分屏、分辨率、DPI、PPI,及 Qt 处理高分屏](https://xmuli.blog.csdn.net/article/details/108905279) -- [Qt 项目(Cmake)设置国际化支持](https://xmuli.blog.csdn.net/article/details/114439385) -- [如何构建 QT5(5.15)](https://xmuli.blog.csdn.net/article/details/114259155) -- [在 Mac 编译成功运行 qt5.15 源码:debug 和 release 版本](https://xmuli.blog.csdn.net/article/details/114259186) -- [Qt 信号和槽原理分析](https://xmuli.blog.csdn.net/article/details/115305903) - -
- -## 第十部分:项目 - -### 网络 - -- [QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)](https://blog.csdn.net/qq_33154343/article/details/89284983) -- [QT5/C++项目:基于QT的跨平台网络对战象棋(二)(推荐★★★★)](https://blog.csdn.net/qq_33154343/article/details/89285968) -- [QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★)](https://blog.csdn.net/qq_33154343/article/details/89286553) -- [项目实战:Qt5/C++:TCP的C/S的聊天小程序 (带界面 GUI)](https://blog.csdn.net/qq_33154343/article/details/79341062) -- [项目实战:仿QQ的QQ简洁版2019群聊项目(带界面 GUI)](https://blog.csdn.net/qq_33154343/article/details/96437681) -- [项目实战Small example:C:Socket之Tcp编程 [终端 Terminal]](https://blog.csdn.net/qq_33154343/article/details/81808722) -- [项目实战Small example:C:Socket之UDP编程 [终端 Terminal]](https://blog.csdn.net/qq_33154343/article/details/81809168) -- [项目实战:Qt5/Quick:模仿扣扣登录界面[小程序]](https://blog.csdn.net/qq_33154343/article/details/80448144) - -
- -### 其它 - -- [更换`Qt`应用程序的界面`UI`,实现换肤,改用自带其他默认`QStyle`风格样式](https://blog.csdn.net/qq_33154343/article/details/100148552) -- [`QStyle`自定义重绘滑动条`QSlider`控件](https://blog.csdn.net/qq_33154343/article/details/100545769) -- [`QStyle`自定义重绘`QRubberBand`控件](https://blog.csdn.net/qq_33154343/article/details/100588428) -- [重绘的`QStyle`中`sizeFromContents`()没有被调用](https://blog.csdn.net/qq_33154343/article/details/100941134) -- [`QStyle`之`PenStyle`的`CustomDashLine`使用](https://blog.csdn.net/qq_33154343/article/details/100659576) -- [`QStyle`自定义重绘滑动条`QSlide`r控件二](https://blog.csdn.net/qq_33154343/article/details/100942637) -- [QStyle自定义重绘`QScrollBar`](https://blog.csdn.net/qq_33154343/article/details/100943187) -- [Deepin 自定义修改窗口圆角大小](https://xmuli.blog.csdn.net/article/details/109232878) [商业开源项目★★★] -- [Deepin 开发任务栏网速插件 lfxSpeed](https://xmuli.blog.csdn.net/article/details/110672252) [★★] -- [Deepin 愿望墙:社区插件等需求调研结果](https://xmuli.blog.csdn.net/article/details/112243878) [社区练手参考] -- [Deepin 任务栏网速插件推荐 lfxNet (重构 lfxSpeed)](https://xmuli.blog.csdn.net/article/details/113573870) [★★★★] - -
- -## 新手过来: - -  **新手** 在深思熟虑后踏入的编程,容易遭遇如下如下几点: - -1. 语言语法不熟悉🤦‍♀️ -2. 相关 IDE 安装、配置不会;不懂如何创建自己所需的工程项目🤦‍♀️ -3. 基础控件不认识,不会用🤦‍♀️ -4. 难以🔍可阅读、成体系的低级博客,多为高热度Title文章🤦‍♀️ -5. ...开始步入正轨👣 -6. 也不知学编程到是底在学习什么❓👀 -7. ...修行靠个人👩‍💻 - -
- -## 分享所想: - -1. 自己想学一遍 GUI 控件 -2. 帮助真的新手实现0→1的入门,解决👆的1,2,3,4,6问题 -3. 学习于网络,回馈于网络 -4. 希望永久被🔍引擎检索到,以博客形式发表📝 - -
- -## 我所想说:🙋‍♀️ - -虽然不盈利,会累,但因自由和开源软件而写的开心ya, 鸭鸭 - -
- -## 贡献: - -若是帮助到了你,或者觉得有用,可以点击该项目的的**Star****Fork** 的两个图标,方便抬手之间,表示点个赞,手有余香 - -
- -## 作者: - -[偕臧 | xmuli ](https://ifmet.cn) - -
- -## 协议: - - - -**偕藏:** 博客代码基于Apache License 2.0 协议进行分发和使用,更多信息参见[协议文件](/LICENSE)。 - - - +# QtExamples: + +
+ +
+ + +                                我也不知道为什么,就是想放这么一张图在这里。 + +
+ +[TOC] + +
+ +## 项目介绍: + +  ✅ `Qt` 的 `GUI` 基础控件用法,网络; + +  ✅ `DTK` 重绘控件方式的框架解析; + +  ✅ `QtCrator` 使用和一些小技巧; + +  ✅ `Qt` 原理/运行机制理解 + +  自己所学记录,亦可以互相交流共享学习,**有朋自远方互联网而来,不亦悦乎?** + +
+ +## 关于 QT 系列文章: + +​ 会将该系列的源码,文章等系列,全部托管于这个仓库,该系列的主线任务是讲解 **Qt** 的相关文章。 + +**开发系统:** `MacOS 10.14.6 (18G103)` | `win10 x64 专业版 1803` | `UOS 20 x64 专业版 ` + +**编码软件:** `Qt 5.9.8+` | `Qt Creator 4.8.2 (Enterprise)` + +**编码语言:**![](https://img.shields.io/badge/language-c++-orange.svg) + +
+ +# 文章系列: + +## 第一部分:预备知识 + +- **windows 系统:** + - [`windows10`环境下安装`Qt Creator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt** (最佳推荐)](https://blog.csdn.net/qq_33154343/article/details/103674579) + - [Qt Creator 安装SDK,在MSVC编译模式下使用CDB调试器](https://blog.csdn.net/qq_33154343/article/details/98779698) + - [`windows`环境下安装`Qt Creator` + `Visual Studio 2015`作为`c++`的`IDE`开发工具,学习和使用**qt** (备选)](https://blog.csdn.net/qq_33154343/article/details/103755569) + - [`windows`环境下安装`Qt Creator 5.9` + `Visual Studio 2017专业版 ` 参考此文 (备选)](https://blog.csdn.net/qq_33154343/article/details/78587699) + - [Win10上CLion、CMake、MSVC/MinGW配置Qt开发](https://blog.csdn.net/qq_33154343/article/details/120070828) + - [VS2017调试Qt源码,安装PDB](https://blog.csdn.net/qq_33154343/article/details/120339797) + +
+ +- **MacOS 系统:** + + - [`MacOS10.14.6`环境下安装`QtCreator5.9.8`作为`c++`的**IDE**开发工具,学习和使用**qt**(推荐)](https://blog.csdn.net/qq_33154343/article/details/103231202) + +
+ +- **Linux 系统:** + - [在win10里面的VMware安装UOS20,在uos20里面安装QtCreator,配置dtk开发环境](https://blog.csdn.net/qq_33154343/article/details/103733327) + - [MacOS10.14安装虚拟机Parallels_Desktop,安装UOS20和 QtCreaor,搭建dtk开发环境](https://blog.csdn.net/qq_33154343/article/details/104180794) + - [在macOS 10.14的虚拟机VMware Fusionlimian里面安装deepin15.11(Linux)](https://blog.csdn.net/qq_33154343/article/details/102789047) + - [Deepin / UOS 中配置 DTK 开发环境](https://blog.csdn.net/qq_33154343/article/details/112239518) + - [重装uos/deepin v20后必安装软件(个人习惯)](https://xmuli.blog.csdn.net/article/details/106510975) + - [ArchLinux + DDE 安装教程](https://xmuli.blog.csdn.net/article/details/107696563) + - [对 GNU/Linux 介绍、ArchLinux社区氛围、DDE移植Arch流程](https://blog.csdn.net/qq_33154343/article/details/108378441) + +
+ +- **IDE 基础讲解:** + - [Qt Creator` 此**IDE**的界面基本组成和入门使用讲解(Win,Linux,MacOS搭配不同版本 Qt)](https://blog.csdn.net/qq_33154343/article/details/103942733) + +
+ +## 第二部分:Qt 生成原理/运行机制 + +- [`make` `makefile` `cmake` `qmake`都是什么,有什么区别?](https://blog.csdn.net/qq_33154343/article/details/98170236) +- [Qt 编程中 namespace Ui { class Widget; } 解析](https://blog.csdn.net/qq_33154343/article/details/98122981) + +
+ +## 第三部分:常用 GUI 控件 + +- 一个默认的`Qt Widget`项目 【空】 +- [元对象系统moc(Meat-Object System)的对象MetaObject和(含动态)属性Propert的用法](https://xmuli.blog.csdn.net/article/details/105925608) 【QtMeatObjectEx】 +- [`QString`在2 /8/10/16进制之间转换](https://blog.csdn.net/qq_33154343/article/details/100860030) 【QtQStringEx】 +- [`QString`常用的功能函数的介绍和用法](https://blog.csdn.net/qq_33154343/article/details/100860270) 【QtQStringFunEx】 +- [`QSlider`和`QAbstractSlider`的介绍和用法](https://blog.csdn.net/qq_33154343/article/details/100944831)【QtQSliderEx】 +- [`QSlider`移动条、`QScrollBar`滚动条、`QProgressBar`进度条控件的联动](https://blog.csdn.net/qq_33154343/article/details/101003081)【QtQProgressBarEx】 +- [仪表盘`QSlider`和数值显示`QLCD_NUmber`的讲解和使用](https://blog.csdn.net/qq_33154343/article/details/101003115)【QtQdialQLCDEx】 +- [时间日期(`QTime`/`QDate`/`QDateTime`)和定时器(`QTimer`)的介绍和使用](https://blog.csdn.net/qq_33154343/article/details/101040841)【QtDateTimeEx】 +- [`QComboBox`(下拉列表框)和`QPlainTextEdit`(多行富文本编辑器)的用法](https://blog.csdn.net/qq_33154343/article/details/101127870) 【QtQcomboBoxEx】 +- [列表控件`QListWidget`和工具按钮`QToolButton`的和用法](https://blog.csdn.net/qq_33154343/article/details/101314908)【QtQListWidgetEx】 +- [目录树组件`QTreeWidget`和停靠区域组件`QDockWidget`的用法](https://blog.csdn.net/qq_33154343/article/details/103467757)【QtQTreeWidgetEx】 +- [`QTableWidget`表格组件的属性介绍和使用](https://blog.csdn.net/qq_33154343/article/details/103485154)【QtQTableWidgetEx】 +- [`QFileSystemModel`数据模型获取本机文件系统的使用](https://blog.csdn.net/qq_33154343/article/details/103544820)【QtQFileSystemModelEx】 +- [`getOpenFileName`标准对话框和自定义对话框的使用](https://blog.csdn.net/qq_33154343/article/details/103545066)【QtQDialogEx】 +- [`QTableView`和`QStandardItemModel`的用法](https://blog.csdn.net/qq_33154343/article/details/103572418)【QtQStandardItemModelEx】 +- [自定义和标准对话框的用法](https://blog.csdn.net/qq_33154343/article/details/103606981)【QtCustomDialogEx】 +- [多文档界面`MDI`(`Multi-document Interface`)的实现,`QMdiArea`使用](https://blog.csdn.net/qq_33154343/article/details/103625380)【QtMDIEx】 + +
+ +## 第四部分:网络编程 + +- [主机信息查询`QHostInfo`和`QNetworkInterface`查询IP等](https://blog.csdn.net/qq_33154343/article/details/103707035)【QtQHostInfoEx】 +- [`TCP`通信之`QTcpServer`和`QTcpSocket`,服务器和客户端通讯](https://blog.csdn.net/qq_33154343/article/details/103759735)【QtTcpEx】 +- [`Upd`通信之`QUdpSocket`的`unicast`单播、`broadcast`广播、`multicast`组播](https://blog.csdn.net/qq_33154343/article/details/103789843)【QtUdpEx】 +- [`QNetworkAccessManager`/`QNetworkReply`/`QNetworkRequest`实现高层网络的操作`http`](https://blog.csdn.net/qq_33154343/article/details/103811638) 【QtHttpEx】 + +
+ +## 第五部分:DTK 重绘控件原理解析(自定义样式 QStyle ) + +- **DTK 历史发展:** + - [DTK的历史起源、发展,和简单入门](https://xmuli.blog.csdn.net/article/details/106189533) 『🥳🥳』 + - [deepin、dde的历史起源与发展(附deepin所有版本的dde截图)](https://xmuli.blog.csdn.net/article/details/106195055) 『🥳🥳』 + - [UOS/Deepin 中配置 DTK 开发环境](https://xmuli.blog.csdn.net/article/details/112239518) 『🥳🥳』 + - [Deepin / DTK 文档参考资料集合](https://xmuli.blog.csdn.net/article/details/112244150) 『🥳🥳🥳🥳🥳』 +- **预备知识:** + - QStyle与QPen、QPush、QPalette、QPainter之间的区别 + - [DTK 基础教程:自定义控件规范](https://xmuli.blog.csdn.net/article/details/108536588) 『🥳🥳』 + - [QStyle设置界面的外观和QCommonStyle继承关系图讲解和使用](https://blog.csdn.net/qq_33154343/article/details/104367878) 『👩‍💻👩‍💻👩‍💻』 + - [qt之proxy()代理探究](https://blog.csdn.net/qq_33154343/article/details/101571843) + - [DTK常用和测试代码片](https://blog.csdn.net/qq_33154343/article/details/106187959) +- **感性理解👀:** + - [应用软件在「UOS20和 MaOS10.14下」显示应用不同的QStyle「即:所有控件的样式换肤」](https://blog.csdn.net/qq_33154343/article/details/104305154) + - [应用软件在「windows10 和 deepin10.15下」显示应用不同的`QStyle`「即:所有控件的样式换肤」](https://blog.csdn.net/qq_33154343/article/details/100148552) +- **DTK 源码解析架构🤔:** + - [QStyle/DTK重绘Qt-GUI已有控件,举例QScrollBar](https://blog.csdn.net/qq_33154343/article/details/104537944) 『👩‍💻👩‍💻👩‍💻』 + - [QStyle/DTK重绘自定义需求控件,举例MySwitchButton](https://blog.csdn.net/qq_33154343/article/details/104987446) 『👩‍💻👩‍💻👩‍💻』 + - [DTK常用和测试代码片 ](https://xmuli.blog.csdn.net/article/details/106187959) + - [DTK 每日自动更新其 API 文档](https://xmuli.blog.csdn.net/article/details/108756933) + - [DTK 基础教程:自定义控件规范](https://xmuli.blog.csdn.net/article/details/108536588) [★★] + +
+ +## 第六部分:Qt / IDE 出现乱码原因和解决: + +- [乱码原因产生和解决方案](https://xmuli.blog.csdn.net/article/details/109567352) [★★] + +- [ 输出乱码原因:古文码、口字码、符号码、问号码、棍拷码](https://blog.csdn.net/qq_33154343/article/details/99617767) +- [qt5 中文乱码解决](https://blog.csdn.net/qq_33154343/article/details/95344312) +- [Qt字符串有中文,编译不通过解决方法:](https://blog.csdn.net/qq_33154343/article/details/79130275) +- [乱码原因(Qt版本)_附上语文的pdf版本](https://blog.csdn.net/qq_33154343/article/details/79039644) +- [qt中文乱码问题](https://blog.csdn.net/qq_33154343/article/details/78686103) +- [借Qt中文乱码谈谈Coding中的编码问题](https://blog.csdn.net/qq_33154343/article/details/78686075) + +
+ +- [Qt4和Qt5的信号和槽的使用差异](https://xmuli.blog.csdn.net/article/details/118346008) +- `qt`中 Lambda 表达式 + +
+ +## 第七部分:QtCreator 的使用小技巧: + +- [QtCreator设置代码美化 astyle 之 Artistic](https://blog.csdn.net/qq_33154343/article/details/101397429) +- [Qt Creator 关闭.cpp文件右侧的黄色警告](https://blog.csdn.net/qq_33154343/article/details/102943623) +- [小技巧:Design设计师里,无法拖拽action到toolbar里](https://blog.csdn.net/qq_33154343/article/details/100168170) +- [小技巧:设置`QToolBox`的每一页page的使用单独的布局(`QTabWidget`同理)](https://blog.csdn.net/qq_33154343/article/details/100185025) +- [小技巧:QtCreator用快捷键秒实现,声明在基类中重写的派生类(纯)虚函数](https://blog.csdn.net/qq_33154343/article/details/104457739) +- [VS2019调试Qt5时QString显示为内存地址而非字符串](https://xmuli.blog.csdn.net/article/details/116244865) + +
+ +## 第八部分:提交规范和发布 Qt 程序: + +- [约定式提交规范](https://www.conventionalcommits.org/zh-hans/v1.0.0-beta.4/) +- [Qt 项目在 Windows 平台上面发布成可执行程序](https://blog.csdn.net/qq_33154343/article/details/96448388) +- [Qt 项目在 MacOS 平台上面发布成可执行程序](https://xmuli.blog.csdn.net/article/details/96448938#comments) +- [Qt 项目在 Linux 平台上面发布成可执行程序](https://blog.csdn.net/qq_33154343/article/details/96448621) +- [如何给上游 Qt 提交 Bug 反馈和贡献代码 PATCH?](https://xmuli.blog.csdn.net/article/details/107220867) +- [Qt 项目用 Doxygen 生成 .qch,嵌入文档到 Assistants](https://xmuli.blog.csdn.net/article/details/114580630) +- [修改 Doxygen 主题,生成 Qt 风格的文档](https://xmuli.blog.csdn.net/article/details/114591725) +- [QtCreator 中自定义项目例子置于“欢迎-实例”中](https://xmuli.blog.csdn.net/article/details/115049715) + +
+ +## 第 九部分:高级 + +- [高分屏、分辨率、DPI、PPI,及 Qt 处理高分屏](https://xmuli.blog.csdn.net/article/details/108905279) +- [Qt 项目(Cmake)设置国际化支持](https://xmuli.blog.csdn.net/article/details/114439385) +- [如何构建 QT5(5.15)](https://xmuli.blog.csdn.net/article/details/114259155) +- [在 Mac 编译成功运行 qt5.15 源码:debug 和 release 版本](https://xmuli.blog.csdn.net/article/details/114259186) +- [Qt 信号和槽原理分析](https://xmuli.blog.csdn.net/article/details/115305903) + +
+ +## 第十部分:项目 + +### 网络 + +- [QT5/C++项目:基于QT的跨平台网络对战象棋(一)(推荐★★★★)](https://blog.csdn.net/qq_33154343/article/details/89284983) +- [QT5/C++项目:基于QT的跨平台网络对战象棋(二)(推荐★★★★)](https://blog.csdn.net/qq_33154343/article/details/89285968) +- [QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★)](https://blog.csdn.net/qq_33154343/article/details/89286553) +- [项目实战:Qt5/C++:TCP的C/S的聊天小程序 (带界面 GUI)](https://blog.csdn.net/qq_33154343/article/details/79341062) +- [项目实战:仿QQ的QQ简洁版2019群聊项目(带界面 GUI)](https://blog.csdn.net/qq_33154343/article/details/96437681) +- [项目实战Small example:C:Socket之Tcp编程 [终端 Terminal]](https://blog.csdn.net/qq_33154343/article/details/81808722) +- [项目实战Small example:C:Socket之UDP编程 [终端 Terminal]](https://blog.csdn.net/qq_33154343/article/details/81809168) +- [项目实战:Qt5/Quick:模仿扣扣登录界面[小程序]](https://blog.csdn.net/qq_33154343/article/details/80448144) + +
+ +### 其它(Qt/DTK) + +- [更换`Qt`应用程序的界面`UI`,实现换肤,改用自带其他默认`QStyle`风格样式](https://blog.csdn.net/qq_33154343/article/details/100148552) +- [`QStyle`自定义重绘滑动条`QSlider`控件](https://blog.csdn.net/qq_33154343/article/details/100545769) +- [`QStyle`自定义重绘`QRubberBand`控件](https://blog.csdn.net/qq_33154343/article/details/100588428) +- [重绘的`QStyle`中`sizeFromContents`()没有被调用](https://blog.csdn.net/qq_33154343/article/details/100941134) +- [`QStyle`之`PenStyle`的`CustomDashLine`使用](https://blog.csdn.net/qq_33154343/article/details/100659576) +- [`QStyle`自定义重绘滑动条`QSlide`r控件二](https://blog.csdn.net/qq_33154343/article/details/100942637) +- [QStyle自定义重绘`QScrollBar`](https://blog.csdn.net/qq_33154343/article/details/100943187) +- [Deepin 自定义修改窗口圆角大小](https://xmuli.blog.csdn.net/article/details/109232878) [商业开源项目★★★] +- [Deepin 开发任务栏网速插件 lfxSpeed](https://xmuli.blog.csdn.net/article/details/110672252) [★★★] +- [Deepin 愿望墙:社区插件等需求调研结果](https://xmuli.blog.csdn.net/article/details/112243878) [社区练手参考] +- [Deepin 任务栏网速插件推荐 lfxNet (重构 lfxSpeed)](https://xmuli.blog.csdn.net/article/details/113573870) [★★★★] + +
+ +## 新手过来: + +  **新手** 在深思熟虑后踏入的编程,容易遭遇如下如下几点: + +1. 语言语法不熟悉🤦‍♀️ +2. 相关 IDE 安装、配置不会;不懂如何创建自己所需的工程项目🤦‍♀️ +3. 基础控件不认识,不会用🤦‍♀️ +4. 难以🔍可阅读、成体系的低级博客,多为高热度Title文章🤦‍♀️ +5. ...开始步入正轨👣 +6. 也不知学编程到是底在学习什么❓👀 +7. ...修行靠个人👩‍💻 + +
+ +## 分享所想: + +1. 自己想学一遍 GUI 控件 +2. 帮助真的新手实现0→1的入门,解决👆的1,2,3,4,6问题 +3. 学习于网络,回馈于网络 +4. 希望永久被🔍引擎检索到,以博客形式发表📝 + +
+ +## 我所想说:🙋‍♀️ + +虽然不盈利,会累,但因自由和开源软件而写的开心ya, 鸭鸭 + +
+ +## 贡献: + +若是帮助到了你,或者觉得有用,可以点击该项目的的**Star****Fork** 的两个图标,方便抬手之间,表示点个赞,手有余香 + +
+ +## 作者: + +[偕臧 | xmuli ](https://ifmet.cn) + +
+ +## 协议: + + + +**偕藏:** 博客代码基于Apache License 2.0 协议进行分发和使用,更多信息参见[协议文件](/LICENSE)。 + + + **偕藏:** 所含文章使用以下协议进行保护:[署名-非商业性使用-禁止演绎](http://creativecommons.org/licenses/by-nc-nd/3.0/cn/)。 \ No newline at end of file