{"id":50870501,"url":"https://github.com/gongjianbo/MyTestCode","last_synced_at":"2026-07-02T18:01:17.083Z","repository":{"id":41036846,"uuid":"195367227","full_name":"gongjianbo/MyTestCode","owner":"gongjianbo","description":"Some test code, as example code of my blog, mainly Qt related demo. 一些测试程序，作为我博客的示例代码，主要是Qt相关的Demo。","archived":false,"fork":false,"pushed_at":"2025-12-20T17:51:49.000Z","size":7947,"stargazers_count":472,"open_issues_count":0,"forks_count":381,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-12-22T18:31:39.675Z","etag":null,"topics":["cpp","demo","python","qml","qt"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gongjianbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-07-05T08:05:34.000Z","updated_at":"2025-12-20T17:51:53.000Z","dependencies_parsed_at":"2023-02-10T01:00:32.200Z","dependency_job_id":"2cb4c4f5-bd93-448f-9d08-e2ea8ab3f691","html_url":"https://github.com/gongjianbo/MyTestCode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gongjianbo/MyTestCode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gongjianbo%2FMyTestCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gongjianbo%2FMyTestCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gongjianbo%2FMyTestCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gongjianbo%2FMyTestCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gongjianbo","download_url":"https://codeload.github.com/gongjianbo/MyTestCode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gongjianbo%2FMyTestCode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35057450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","demo","python","qml","qt"],"created_at":"2026-06-15T05:00:27.062Z","updated_at":"2026-07-02T18:01:17.050Z","avatar_url":"https://github.com/gongjianbo.png","language":"C++","funding_links":[],"categories":["致谢"],"sub_categories":["核心参考仓库"],"readme":"# MyTestCode\n\n![](https://img.shields.io/badge/language-Cpp/QML-orange) ![](https://img.shields.io/badge/license-Free-green)\n\n![](https://img.shields.io/github/languages/code-size/gongjianbo/MyTestCode) ![](https://img.shields.io/github/stars/gongjianbo/MyTestCode) ![](https://img.shields.io/github/forks/gongjianbo/MyTestCode)\n\nSome test code, as example code of my blog, mainly Qt related demo. 一些测试程序，主要作为我博客的示例代码，主要是Qt相关的Demo。\n\nCSDN Blog（博客地址）：https://blog.csdn.net/gongjianbo1992\n\nGithub：https://github.com/gongjianbo/MyTestCode\n\nGitee（码云地址）: https://gitee.com/gongjianbo/MyTestCode\n\n# 目录\n\n- [说明](#说明)\n- [Qt Demo](#Qt)\n- [Qt6 Demo](#Qt6)\n- [QML Demo](#QML)\n- [QML6 Demo](#QML6)\n- [Cpp Demo](#Cpp)\n- [Python Demo](#Python)\n- [其他](#其他)\n\n# 说明\n\n- 主要使用 Win10 / Win11 + VS2019 / 2022 + Qt5.15.2 / Qt6 进行开发，一些老的代码可能使用 Qt 5.12 或者更早的版本\n- Qt / QML 目录存放的主要是 Qt5 代码，Qt6 / QML6 目录则存放 Qt6 代码\n- 部分链接不是本仓库的内容，只是为了补全完整性，所以放到了一起。也有部分代码没有整理到列表中\n- 欢迎反馈问题\n\n# Qt \n\n- QPainter 各种绘图操作：https://github.com/gongjianbo/EasyQPainter\n- Qt 示例学习：Cube OpenGL ES 2.0 [[Code](./Qt/QtExampleCube/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122945293)]\n- 绘制饼图 [[Code](./Qt/QtPainter/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/100096216)]\n- 绘制热力图 [[Code](./Qt/MyHeatMap/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/104566768)]\n- 绘制滚动文本 [[Code](./Qt/ScrollLabel/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106579690)]\n- 绘制轮播图 [[Code](./Qt/TestQt_20211029_Swiper/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/121072373)]\n- 模仿 python turtle 海龟绘图 [[Code](https://github.com/gongjianbo/QtTurtle)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/112111264)]\n- 自定义 QComboBox 下拉框，添加删除按钮 [[Code](./Qt/MyComboBox/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106558887)]\n- 自定义 QTabWidget，实现拖入拖出 [[Code](./Qt/MyTabWidget/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/108502299)]\n- QTableView 拖拽交换行、列、单元格 [[Code](./Qt/QTableViewMoveAction/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106932706)]\n- QHeaderView 表头排序 [[Code](./Qt/SortHeaderView/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/108249292)]\n- 路径渐变填充 [[Code](./Qt/PathGradient/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/123767575)]\n- QTreeView 展示和编辑 JSON [[Code](./Qt/QJsonAndTreeView/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/103191023)]\n- QTextEdit 几种高亮设置 [[Code](./Qt/TextEditHighlight/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122527076)]\n- QDataWidgetMapper，数据 Model 与组件属性绑定 [[Code](./Qt/TestQt_20200615_DataMapper/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106772319)]\n- UI 线程与子线程交互 [[Code](./Qt/UiAndSubThread/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/105171077)]\n- 多线程进度值同步 [[Code](./Qt/Qt/TestQt_20240528_Progress/)] \n- 打开文件夹并选中文件 [[Code](./Qt/TestQt_20230218_ShowInFolder/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/129233861)]\n- QCharts 练习 [[Code](./Qt/TestQt_20190907_QChartsSeries/)]\n- QCharts 添加背景图片 [[Code](./Qt/TestQt_20190806_QChartsBackground/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/98615059)]\n- QFuture 练习 [[Code](./Qt/TestQt_20200622_QFuture/)] \n- QFuture 多线程更新进度条 [[Code](./Qt/TestQt_20200625_QFuture/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106957888)]\n- Qt HTTP 客户端操作 [[Code](./Qt/Qt5HttpDemo/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/97568863)]\n- Qt HTTP 文件上传下载 [[Code](./Qt/TestQt_20210807_HttpFile/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/119490369)]\n- Qt Remote Objects 远程调用 [[Code](./Qt/QtRemoteObjects/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/120103289)]\n- Qt LocalSocket 练习 [[Code](./Qt/TestLocalSocket/)] \n- Qt WebSocket 练习 [[Code](./Qt/QtWebSocketDemo/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/107306121)]\n- Qt WebChannel 学习 [[Code](https://github.com/gongjianbo/QtWebCannelAndMap.git)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/89707251)]\n- 重定向 QDebug，封装日志类 [[Code](https://github.com/gongjianbo/SimpleQtLogger)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/108030391)]\n- PIMPL 练习 [[Code](./Qt/QtPimpl/)]\n- 隐式共享练习 [[Code](./Qt/TestQt_20211225_SharedData/)]\n- 事件流程练习 [[Code](./Qt/TestQt_20220915_EventFlow/)]\n- 自定义事件 [[Code](./Qt/TestQt_20230710_CustomEvent/)]\n- Qt zip 读写类 QZipReader/QZipWriter [[Code](./Qt/TestQt_20240226_QZip/)]\n- Qt 获取 DPI 缩放比 [[Code](./Qt/TestQt_20231221_Dpi/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/135128484)]\n- Qt DPI 缩放测试 [[Code](./Qt/TestQt_20230529_DpiScaleTest/)]\n- QSS 图片 DPI 缩放测试 [[Code](./Qt/TestQt_20260407_QssImage/)]\n- Qt Widgets 换肤 [[Code](./Qt/QtSwitchSkin/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106608353)]\n- QtAV 库的使用 [[Code](./Qt/QtAV/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/94631123)]\n- QScintilla 文本编辑控件 [[Code](./Qt/QScintilla/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/100828180)]\n- QR-Code-generator 生成二维码 [[Code](./Qt/TestQt_20230711_QRCodeGen/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/131677203)]\n- libqrencode 生成二维码 [[Code](./Qt/QtQRencodeVS2019/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122422331)]\n- QZXing 生成和识别二维码 [[Code](./Qt/QtQZXingVS2019/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122463817)]\n- USB 热插拔检测（Windows） [[Code](./Qt/DeviceHotplug_Win/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/128702423)]\n- USB 热插拔检测（MacOS） [[Code](./Qt/DeviceHotplug_Mac/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/129780213)]\n- axcontainer 写 doc 和 xls [[Code](./Qt/TestQt_20211012_DocXls/)]\n- uchardet 检测文本编码 [[Code](./Qt/TestQt_20250320_TextDecode/)]\n- 自定义 ini 读写类 [[Code](./Qt/TestQt_20210425_ini/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/116239087)]\n- QSettings::registerFormat 自定义 ini 读写 [[Code](./Qt/TestQt_20210425_ini/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/146471593)]\n- OpenGL 纹理渲染测试 [[code](./Qt/TestQt_20251030_GLWidget/)]\n- Assimp 加载 3D 模型 [[Code](./Qt/TestQt_20211018_Assimp/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/120857151)]\n- FFmpeg 获取音频信息 [[Code](./Qt/GetAudioInfo/)] [[Blog-1](https://blog.csdn.net/gongjianbo1992/article/details/109832829)] [[Blog-2](https://blog.csdn.net/gongjianbo1992/article/details/109975687)]\n- giflib 库学习 [[Code](./Qt/GifLib%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81/)] \n- giflib 读写 gif 文件 [[Code](https://github.com/gongjianbo/QtGifTool)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/115449858)]\n- libsndfile 读写音频数据 [[Code](./Qt/libsndfile/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/99678466)]\n- httplib 基本操作及文件上传下载 [[Code](./Qt/TestQt_20230913_HttpLib/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/133075530)]\n- silk 音频转 wav [[Code](./Qt/SilkToWav/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/110351329)]\n- Win32 多进程 [[Code](./Qt/MultiProcess_Win/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/120030085)]\n- Win32 Dump [[Code](./Qt/TestQt_20210211_Dump/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/113791423)]\n- Win32 判断窗口是否活跃 [[Code](./Qt/TestQt_20250314_WindowActiveHook/)]\n- lodepng / stb_image / fpng / QImage 读写 png 速度测试 [[Code](./Qt/TestQt_20241017_PNG/)] \n- grpc 同步模式练习（不含库文件） [[Code](./Qt/TestQt_20240511_GRPC/)] \n\n# Qt6\n\n- QPromise / QFuture 多线程任务管理 [[Code](./Qt6/TestQt_20251220_Future/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/156118709)]\n\n# QML \n\n- QML 组件样式自定义：https://github.com/gongjianbo/QmlComponentStyle\n- Qt 示例学习：OpenGL Under QML [[Code](./Qml/QtExampleOpenGLUnderQML/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/124769013)]\n- QML 调用 Cpp [[Code](./Qml/QmlCallCpp2020/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/87965925)]\n- Cpp 调用 QML [[Code](./Qml/CppCallQml2020/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/87965925)]\n- QML 与 Cpp 之间的函数回调 [[Code](./Qml/TestQml_20220908_Callback/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/126769501)]\n- 动态创建 QML 对象 [[Code](./Qml/TestQml_20201118_createComponent/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/109800614)]\n- QML 中使用 QtWidgets 模块的文件对话框 [[Code](./Qml/BasicFileDialog/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/128521716)]\n- QML 快捷键 [[Code](./Qml/TestQml_20210517_ShortcutKey/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/116954979)]\n- QML MouseArea 事件转发 [[Code](./Qml/TestQml_20240424_MouseForward/)] \n- eventFilter 过滤快捷键 [[Code](./Qml/KeysFilter/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/116954979)]\n- Qt Quick Scene Graph 学习1：画线 [[Code](./Qml/LearnQSG_20210614_Line/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/117923933)]\n- Qt Quick Scene Graph 学习2：纹理 [[Code](./Qml/LearnQSG_20210624_Texture/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/118257844)]\n- QT_OPENGL_BUGLIST OpenGL 黑名单 [[Code](./Qml/OpenGLBlackList/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/125400723)]\n- QML 中使用 AJAX [[Code](./Qml/QmlAjax/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/108923476)]\n- Animation 动画练习 [[Code](./Qml/QmlAnimation/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/102135779)]\n- QML 实现程序退出确认功能 [[Code](./Qml/QmlCloseEvent/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/108270551)]\n- QML 实现输入框 Completer 自动补全 [[Code](./Qml/QmlCompleter/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122569547)]\n- QML 实现分页组件 [[Code](./Qml/QmlPagination/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/111820528)]\n- QML 实现上浮后消失的提示框 [[Code](./Qml/TestQml_20240622_Toast/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/139891612)]\n- QML 实现一个 IP 地址输入框 [[Code](./Qml/TestQml_20210717_IpInput/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/118860100)]\n- QML 用 PathView 实现轮播图 [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/103517663)]\n- QML 自定义 Loading 等待样式（一） [[Code](https://github.com/gongjianbo/QmlComponentStyle)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/112748866)]\n- QML 自定义 Loading 等待样式（二） [[Code](https://github.com/gongjianbo/QmlComponentStyle)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/122824084)]\n- QML 实现异形按钮（不规则点击区域） [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/123002716)]\n- 简易的无边框 [[Code](./Qml/QmlFramelessWindow/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/109708951)]\n- 简易的登录界面 [[Code](./Qml/QmlLoginPage/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/102753985)]\n- QML 获取 DPI 缩放比 [[Code](./Qml/TestQml_20231221_Dpi/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/135128484)]\n- QML 换肤设计 [[Code](./Qml/QmlSkin/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/124080543)]\n- QML WebEngine + ECharts 展示实时曲线 [[Code](./Qml/QmlWebEngineECharts/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/108778548)]\n- QML 做一个聊天框 [[Code](./Qml/TalkList/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/115410423)]\n- QML 波纹效果 [[Code](./Qml/TestQml_20191128_Wave/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/117639209)]\n- QML Canvas 绘制波浪进度球 [[Code](./Qml/TestQml_20210310_Wave/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/114684010)]\n- QML Canvas 绘制进度条（环形和波浪水球） [[Code](./Qml/TestQml_20220210_ProgressBar/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122870986)]\n- QML Shapes 模块中渐变的使用简例 [[Code](./Qml/TestQml_20220412_ShapeGradient/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/124137788)]\n- Qt Quick OpenGL 学习笔记：通过 FBO 帧缓冲绘制一个三角 [[Code](./Qml/TestQml_20200128_FBO/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/104107692)]\n- QML 粒子系统制作心形效果 [[Code](./Qml/TestQml_20200521_Love/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/106256286)]\n- Qt 多语言翻译（国际化）[[Code](./Qml/TestQml_20211215_Translator/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122014168)]\n- PathView 实现环形菜单 [[Code](./Qml/TestQml_20220313_PathView/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/123465756)]\n- QML 实现图片拖入拖出、剪贴板复制粘贴 [[Code](./Qml/TestQml_20221125_CopyPaste/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/128058766)]\n- QML 对组件截图 [[Code](./Qml/TestQml_20240905_GrabImage/)] \n- Drag Drop 测试 [[Code](./Qml/TestQml_20240305_DragDrop/)] \n- Dialog / Window 对于 ESC 返回和安卓返回的测试 [[Code](./Qml/TestQml_20240725_Dialog/)]\n- Control1 TreeView 选中效果 [[Code](./Qml/TestQml_20221120_TreeSelection/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/127956454)]\n- 练习，多个 View 共享数据 [[Code](./Qml/TestQml_20220709_CommonData/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/125712442)]\n- QML Image 通过 QQuickImageProvider 加载图片 [[Code](./Qml/TestQml_20221225_ImageProvider/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/128439262)]\n- QML Image 通过 QQuickAsyncImageProvider 异步加载图片 [[Code](./Qml/TestQml_20240118_AsyncImageProvider/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/135691893)]\n- FPS 统计 [[Code](./Qml/TestQml_20230211_QmlFps/)]\n- 制作 QML 扩展插件 [[Code](https://github.com/gongjianbo/QmlExtensionPlugin)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/104079885)]\n- ListView 实现带 section 的 GridView [[Code](./Qml/TestQml_20240205_SectionGrid/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/136039983)]\n- 嵌套 ListView 实现 TreeView [[Code](https://github.com/gongjianbo/QmlTreeView)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/90575519)]\n- 封装 QPainter 在 QML 中使用 [[Code](https://github.com/gongjianbo/QmlPainter)] \n- 测试结构体在 QML 中的释放问题 [[Code](./Qml/TestQml_20240823_Struct/)]\n\n# QML6\n\n- QML TreeView 基本使用 [[Code](./Qml6/TestQml_20220422_TreeView/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/124373674)]\n- QML 日历样式自定义 [[Code](./Qml6/TestQml_20220416_Calendar/)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/124212915)]\n\n# Cpp \n\n- Winsock UDP 练习 [[Code](./Cpp/TestWinsock/)] \n- spdlog 学习 [[Code](./Cpp/spdlog/)] [[Blog-1](https://blog.csdn.net/gongjianbo1992/article/details/113279632)] [[Blog-2](https://blog.csdn.net/gongjianbo1992/article/details/112797764)]\n- TinyXML2 学习 [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/107947647)]\n\n# Python \n\n- ctypes 基本使用 [[Code](./Py/TestPy_20210617_ctypes/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/118019271)]\n- selenium 练习：华为保修查询 [[Code](./Py/HuaweiQuery/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/119878883)]\n- uiautomation UI 自动化测试 [[Code](./Py/UIAutoTest/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/121895644)]\n- PyQt5 资源文件的使用 [[Code](./Py/TestPy_20210628_PyQtQrc/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/105361880)]\n- PyQt5 属性动画 [[Code](./Py/PyQt%E5%B1%9E%E6%80%A7%E5%8A%A8%E7%94%BB/)] [[Blog](https://gongjianbo1992.blog.csdn.net/article/details/107052036)]\n\n# 其他 \n\n- Inno Setup 保留原安装路径 [[Code](./Other/InnoSetup%E4%BF%9D%E7%95%99%E5%8E%9F%E5%AE%89%E8%A3%85%E8%B7%AF%E5%BE%84.iss)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/120211915)]\n- Inno Setup 语言选择 [[Code](./Other/InnoSetup%E8%AF%AD%E8%A8%80%E9%80%89%E6%8B%A9.iss)] [[Blog](https://blog.csdn.net/gongjianbo1992/article/details/122119957)]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgongjianbo%2FMyTestCode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgongjianbo%2FMyTestCode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgongjianbo%2FMyTestCode/lists"}