- 博客(36)
- 收藏
- 关注
原创 Python中asyncio的多种用法:异步同步
Python 的 asyncio 模块为异步编程提供了强大的支持,但在某些场景下,我们可能需要处理异步任务与非异步(同步)任务的顺序执行或并行执行。本篇文章将逐步带你了解如何在 Python 中处理这些不同类型的任务。
2024-10-12 15:58:57 1284
原创 C++库std::clamp
`std::clamp` 是 C++17 引入的一个强大而简洁的函数,它为值的范围限制提供了一种标准化的解决方案。通过本文的详细讲解,我们了解了 `std::clamp` 的基本用法、高级特性、实际应用场景以及性能考虑。在日常编程中,合理使用 `std::clamp` 可以让我们的代码更加简洁、高效、易读。希望这篇教程能够帮助您在实际项目中熟练运用 `std::clamp`,提高代码质量和开发效率。
2024-09-14 12:23:46 1149
原创 【Qt的TS文件转换器】利用Python实现自动化TS文件转换
在开发多语言Qt应用时,管理和更新翻译文件是一项繁琐但必要的任务。这个工具旨在自动化Qt Linguist TS文件的转换过程,支持不同语言之间的转换,特别关注中文变体和其他语言。
2024-08-29 12:04:18 1061
原创 解决Qt多线程中fromRawData函数生成的QByteArray数据不一致问题
本文探讨了在Qt多线程应用中使用QByteArray时可能遇到的数据不一致问题。文章首先介绍了一个典型场景:在工作线程中读取设备数据,然后通过信号-槽机制传递到主线程进行处理。问题出现在不同线程中打印同一QByteArray对象时得到不一致的结果。文章分析了问题的根源:使用QByteArray::fromRawData()方法创建了共享底层数据的QByteArray,导致在跨线程传递时可能出现数据变化。解决方案是在发送信号时创建QByteArray的完整副本,确保数据的独立性和一致性。
2024-08-21 17:30:19 521
原创 解决Qml中的Rectangle圆角外部区域也会触发鼠标事件的问题
在很多场景下,有用到各种带有圆角属性的Rectangle作为交互的控件,当radius设置的比较大时,鼠标悬浮在外部区域也会触发各种信号。比较头疼。比如,以下代码通过实现了一个圆形控件。然后创建一个,当鼠标进入圆形区域,希望看到圆的颜色会发生改变。然而实际效果却是还没进行圆形区域就触发了信号,虽然设置了,圆角外部还是属于的范围,所以会触发。
2024-08-05 18:56:11 279
原创 Git钩子Hook功能
Git Hooks是Git内置的一种机制,允许在特定事件发生时执行自定义脚本。Git Hook可以在客户端和服务器端配置,经常用于自动化任务、增强开发流程以及确保代码质量。
2024-07-15 16:22:08 1404
原创 Git常用功能
拉取(Pul)与获取(Fetch)重置(reset)贮藏(stash)补丁(patch)摘取(cherry-pick)追溯(Blame)忽略(ignore)
2024-07-02 18:38:40 993
原创 Git中的变基(Rebase)
在Git中,下载后运行变基通常是指使用git pull命令结合--rebase选项,从远程仓库获取最新的更新并将其应用到当前分支的操作。与默认的git pull不同,--rebase选项会将远程分支的更改应用到你的提交之下,以保持提交历史的线性。变基操作会将当前分支的提交“移植”到另一个基点上,这个基点通常是远程分支的最新提交。这种操作会重写提交历史,使其看起来像是从新的基点上直接进行的开发。
2024-06-24 11:20:06 1693
原创 Window下程序使用CrashPad库生成dump并定位代码
在Windows应用程序开发中,崩溃是不可避免的。为了提高应用程序的稳定性和可靠性,开发者需要一种有效的方法来捕捉和分析崩溃信息。Crashpad是Google开源的崩溃报告工具,可以帮助我们在应用程序崩溃时生成详细的dump文件。本文将以Window程序为例,介绍如何集成Crashpad并生成dump文件。Crashpad是一个跨平台的崩溃报告工具,支持Windows、macOS和Linux。在程序崩溃时捕获崩溃信息并生成dump文件存储崩溃报告传递崩溃报告到服务器进行分析。
2024-06-13 17:42:15 1176 2
原创 Qt/C++中的异步编程
异步编程是现代应用程序开发中不可或缺的一部分。它允许程序在执行耗时任务时保持响应性,特别是在GUI应用程序中。在Qt/C++中,有多种方式来实现异步编程。本文将重点介绍如何使用Qt中的QtConcurrent库,Qml中ES6标准的Promise还有C++标准库std::future,std::promise进行异步编程,并讲解他们之间的区别。
2024-06-11 22:51:12 1175
原创 通过CMake的option启用或禁用特定功能
option命令用于定义布尔型选项,可以在构建项目时启用或禁用特定的功能。option可以在CMake配置时被打开或关闭,从而影响构建流程。通过option,我们可以为用户提供灵活的配置方式,使其可以根据需要启用或禁用某些功能。不修改CMakeLists情况下启用或禁用option, 各种option的使用场景与实际应哟
2024-06-07 15:08:11 1897
原创 C++库std::ref
C++库std::ref介绍, 语法,示例, 使用场景, 多线程编程, 实现回调机制,标准库算法, 绑定函数。与直接引用&的区别。注意引用生命周期和与标准库容器的结合
2024-06-06 15:04:35 1306
原创 实现飞书机器人推送消息到指定群组或者用户
飞书是一个集成了聊天、协作和办公功能的企业级平台,广泛应用于企业内部沟通和协作。飞书机器人(Feishu Bot)是一种强大的工具,允许开发者通过编程接口与飞书进行互动,从而实现自动化消息推送和任务管理。本文将详细介绍如何通过飞书机器人推送消息给指定的人或者群组,帮助您快速上手。
2024-06-01 18:42:34 2280
原创 通过PyInstaller把Python文件打包成应用程序
这篇博客文章为程序员提供了使用PyInstaller将Python程序打包成独立可执行文件的详细教程。内容包括PyInstaller的安装、基本使用方法、高级用法,通过spec文件打包程序,常见问题解决及最佳实践,旨在帮助读者快速掌握这项工具,提高Python项目的分发和部署效率。
2024-05-31 00:21:31 807
原创 使用Swagger UI展示各种OpenAPI文档
启动http-server时,会有一些信息显示哪些地址可以输入。进入swagger-ui的源码目录,安装依赖。swagger ui 依赖Node.js,的项目目录,然后运行以下命令来启动。-p 后面是指定的端口号。
2024-05-08 11:01:13 469 1
原创 手把手教你在Window上安装虚拟机允许ubuntu
VMware和镜像准备完之后,可以开始在VMware中创建创建Ubuntu虚拟机了。配置共享文件可以实现Window与Ubuntu文件共享。安装cmake的时候需要这个库。不要下有很多后缀的那种。
2023-07-31 10:51:45 988
原创 C++库std::future
是C++11标准库(并发支持库)中的一个模板类,它表示一个异步操作的结果。当我们在多线程编程中使用异步任务时,可以帮助我们在需要的时候获取任务的执行结果。的一个重要特性是能够阻塞当前线程,直到异步操作完成,从而确保我们在获取结果时不会遇到未完成的操作。
2023-03-24 10:54:10 8640
Qt + TS文件自动转换脚本工具 + 多语言支持转换 + 提升项目本地化效率
2024-08-28
桌面应用开发 + PyQt + Qt Quick + 示例代码 + 快速入门
2024-07-19
Git Hooks + 自动化脚本 + 示例代码 + 提高开发效率
2024-07-15
软件著作权登记模板+软著登记源代码模板+软件著作权登记信息表模板
2024-07-03
基于QCustomPlot的支持使用 Qml 的简单工程示例
2024-06-18
编译好的Crashpad库 (x86 & x64) - Release & Debug 版本
2024-06-13
生成dump+Crashpad+示例代码+崩溃分析
2024-06-13
CMake教程+CMake option+启用禁用特定功能代码示例+项目配置
2024-06-12
OpenSSL源码x86和x64库文件+OpenSSL+源码+Windows库+安全开发
2024-06-05
编程字体+思源黑体+高质量免费开源+开发设计利器
2024-06-05
通过Python实现飞书机器人推送消息到指定群组或者用户
2024-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人