自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(230)
  • 资源 (5)
  • 收藏
  • 关注

原创 QML知识体系框架及对应文章汇总

盘点了QML的主要功能模块和知识点 以及对应的文章列表,后续会补充完善

2024-04-27 16:16:26 947

原创 QT知识体系框架及对应文章汇总

盘点了QT的主要功能模块的用法和对应的知识点 以及相应的文章列表。包括:基本控件的用法、复杂窗体的搭建、动画特效、数据的处理等等

2024-04-27 16:12:28 982 2

原创 QML通过定时器事件实现多线程操作

WorkerScript允许程序在一个新的线程里面执行一些脚本操作。这里通过将定时器事件和WorkerScript结合起来实现多线程后台操作。 示例定时器事件每两秒执行一次,并开辟线程将获取的时间信息插入到列表控件中。

2024-05-16 18:17:56 15

原创 QML处理各类鼠标事件

在QML应用开发的过程中我们绕不开对鼠标事件的处理操作。处理鼠标事件主要是通过MouseArea元素来实现。这里就介绍一下如何通过MouseArea处理各类鼠标事件。

2024-05-16 08:44:06 35

原创 QML开发经验之启动方式-文件路径-屏幕适配

在QML开发的过程中有很多知识点和小技巧看似不起眼,但是如果没能掌握会对开发进度和产品效果产生极大的影响。这里就介绍一下常用的三个知识点,分别是:1.QML启动方式 2.文件地址的访问方式 3.如何适配各种尺寸的屏幕。

2024-05-14 20:31:52 127

原创 QML ECMAScript 语法介绍

ECMAScript语言的标准是由Netscape、Sun、微软、Borland等公司基于JavaScript和JScript定义出来的脚本语言标准。可以为不同种类的浏览器环境提供核心的脚本编程能力。在QML中我们通过ECMAScript进行脚本编程,实现各种逻辑运算。这里介绍一下ECMAScript的基本语法。

2024-05-14 08:49:33 50

原创 QML元素的布局和定位

QML有三种布局定位的方式分别为定位器(Item Positioner)、布局管理器(Item Layout)、锚定位(anchor)。锚定位在之前的内容中已经介绍过了,主要用于元素之间相对位置的锚定。这里主要介绍一下定位器和布局管理器。

2024-05-11 08:48:57 60 2

原创 QML进阶(十五) QML各种标准元素的用法

QML中有很多标准控件,合理使用标准控件可以大幅提升开发效率,这里介绍一下QML中各种常见的标准控件的用法。

2024-05-09 21:43:38 53

原创 QML进阶(十四) Model-View-Delegate视图框架

MVC(Model-View-Controller)模式将视图系统拆分为模型、视图、控制器三部分,每个部分都相对独立职责单一。模型(model)负责管理视图的数据并对外提供服务。视图(view)负责内容的呈现以及与用户的交互,控制器负责从模型拉取数据并通知视图更新显示。

2024-05-07 19:40:31 63

原创 QML信号槽通信机制用法技巧

QML中实现组件和图元之间的数据通信和关联,同样离不开信号槽通信机制,这里介绍一下在QML中如何使用信号和槽函数。

2024-05-07 06:27:49 36

原创 QT信号和槽通信机制的使用技巧

QT中的信号和槽是一种用于实现对象间通信的机制。这种机制通过信号signal和槽slot的连接,实现了一种灵活的事件驱动通信方式。通过使用信号和槽,QT实现了一种低耦合、高内聚的对象通信方式,使得对象之间的交互更加灵活和可维护。 这里介绍一下QT信号和槽通信机制的使用过程中的一些小技巧。

2024-04-29 20:42:53 28

原创 QT彻底解决中文乱码问题(代码、普通文件、ini文件、路径)

由于QT程序是跨平台的且中文在不同平台下的编码方式不同,为了让QT程序更好的处理中文,我们需要针对中文进行单独的处理,这里介绍一下QT程序在不同场景下如何处理显示中文。

2024-04-29 20:40:14 71

原创 ChatGPT基础(三) 让ChatGPT回答质量提高十倍的提示词模版

上篇文章介绍了ChatGPT使用提示词的一些方法策略和如何优化我们的提示词。这里呢,我介绍一下参照大佬的方法总结的一个提示词的一个用法的模板。使用这个模板之后,我们的提问和获得答案的效率和收集素材的完整度能提高很多。

2024-04-21 16:18:28 444

原创 ChatGPT基础(二) ChatGPT的使用和调优

1.能够联系上下文进行回答ChatGPT回答问题是有上下文的,它可以在我们的反馈和补充信息中不断的优化自己的答案; 因此我们可以通过反复细化调整自己的问题,获得最终想要的答案。2.能够感知和理解使用者的情绪ChatGPT能够理解使用者的情绪,我们可以通过施加情绪压力,让ChatGPT表现的更好;比如说我们可以这么下达带情绪的指令:“领导让我明天出一份关于**的工作规划,我都急死了,你能帮我梳理一下吗?”

2024-04-12 18:22:38 1176 3

原创 ChatGPT基础(一) GPT的前世今生

Generative pre-trained transformers(GPT)生成式预训练转换模型是大语言模型的一种(Large Language Model–>LLM)。它是用于自然语言处理的人工神经网络,可以在未经标记的语料上进行训练并能在基础的信息上生成出全新的内容。

2024-04-07 13:32:50 1219

原创 国产操作系统镜像资源汇总

在软件和操作系统国产化浪潮中出现了很多有特色的国产化操作系统,常见的包括银河麒麟、UOS、中科方德等,同时每个操作系统针对不同的芯片架构也有很多版本。这在适配上就会带来很多麻烦,因为我们需要搭建不同版本的开发环境和适配环境。为了解决适配的难题,这里收集了各个版本的国产操作系统镜像资源,方便大家搭建对应的开发环境和调试环境。

2024-04-05 11:43:01 132

原创 音视频技术应用方向概述

在现在的软件开发过程中,音视频技术已经成了一个不可或缺的功能模块了,通过音视频技术我们可以实现各种各样的业务功能。音视频相关的技术应用有很多细分领域,受我们的知识和业务限制我们了解的可能不是很全面,这里梳理一下音视频技术应用和发展的方向。

2024-04-01 11:26:34 453

原创 C++异常问题排查调试策略

此文主要讨论的问题是那些偶现的、没有特别征兆的、排查起来比较困难的问题的排查和解决思路。WinDbg是Windows操作系统上的一款强大的调试工具,可用于分析和调试应用程序、内核和驱动程序的崩溃和错误。有些时候程序的异常状态可能不是崩溃,而是资源的异常占用,这时候我们就需要使用一些工具来分析程序的性能瓶颈,然后针对程序的瓶颈进行优化和修复;1.重现bug: 记录问题发生的步骤,记录用户的输入信息,问题发生的软硬件信息,包括操作系统类型、软件版本信息以及各种配套组件的版本等。

2024-03-20 18:18:52 795

原创 IDA反汇编工具详解之菜单栏和基本操作

如果一个程序位置引用了另一个包含可重复注释的位置,则该注释会在第一个位置回显,默认情况下回显的注释以灰色文本显示;IDA允许你随意修改任何名称,并处理在整个反汇编代码清单中扩散名称变更的所有细节. 按 N 打开变更对话框 或 右击需要修改的名称在菜单中选择Rename选项。添加注释的方式: 1.菜单 Edit->comment 添加注释 2. 按键’:’ 添加常规注释 按键’;如果你希望恢复某个变量的默认名称,打开更名对话框,在输入框中输入一个空白名称,IDA将为你生成默认的名称。

2024-03-20 18:12:29 892

原创 IDA反汇编工具详解之工程和窗口

程序员使用编译器、汇编器和链接器中的一个或几个创建可执行程序的过程叫做编译过程(代码输入 --> 可执行程序输出)使用反汇编器和反编译器回溯编译过程来撤销汇编和编译过程,输出汇编语言或高级语言的过程叫做反汇编(机器语言输入 --> 汇编语言或高级语言输出)

2024-03-19 18:36:12 1192

原创 Qt插件之输入法插件的构建和使用(二)

输入法的主界面本质上是一个QStackedWidget容器,将各个类型的输入键盘插入到容器中,然后根据业务需要切换不同的输入键盘。 主要的输入键盘包括:中文输入键盘、英文输入键盘、特殊符号输入键盘、手写输入键盘。

2024-03-08 18:47:05 371

原创 Qt插件之输入法插件的构建和使用(一)

常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入法,和操作系统绑定使用系统的输入法框架进行开发,在任何程序当中都可以使用,比如在windows系统下基于TSF/IME框架开发的输入法,在Linux系统下基于fcitx框架开发的框架。此类输入法通用性强功能强大,但开发难度也高。

2024-03-06 19:20:17 428

原创 Qt+libhv实现各类网络通信方式(TCP-UDP-HTTP-WebSocket)

为了实现程序的跨进程和跨主机通信,我们通常会采用网络通信进行数据传输。常用的通信方式包括TCP/UDP、HTTP、WebSocket等,这些网络通信方式各有优劣有的是短连接有的是长连接,应用场景也有差异。在实际开发中我们需要掌握各种通信方式的实现方式来应对不同的场景,这里我们介绍一下如何通过QT+libhv库实现各类通信方式。这些功能模块可以很方便的集成到我们的QT项目中。

2024-03-03 17:40:00 367

原创 细说MSVC和MinGW生成库的差异及如何相互调用

两个编译器的C++ ABI是不兼容的所以无法识别对方导出的符号完成链接,但是可以用C语言进行中转,C的ABI在所有编译器中都是相同的,也就是说把VC动态库所有导出接口都改为 extern “C” 形式即可,这样生成的动态库,MinGW和MSVC都可以相互链接。由于MSVC生成的静态库和MinGW生成的静态库ABI(Application Binary Interface)无法兼容、使用的标准库也不同(MinGW使用的GNU标准库、MSVC使用的微软标准库),所以两个编译器生成的静态不可以跨编译器相互调用;

2024-02-22 19:01:37 735

原创 通过傅里叶变换进行音频变声变调

在游戏或者一些特殊场景下为了提高娱乐性或者保护声音的特征,我们会对音频进行变声变调处理。

2024-02-21 19:46:19 641

原创 FFmpeg进阶-给视频添加马赛克效果

很多时候为了隐藏视频中的敏感信息如人脸、身份证号、车牌号等,我们会采用马赛克算法对视频帧中的一部分内容进行处理。这里介绍一下如何采用FFmpeg实现马赛克效果。2.像素替换:对于每个小块,算法会将其像素值替换为同一小块内的平均像素值或随机像素值,使得图像内容在该区域内变得模糊不可识别;1.分块处理:首先将图像划分为多个小块或区域。

2024-02-20 19:31:10 636

原创 通过C++程序实现光驱的自动化刻录和读取

数字存储媒体快速发展的今天,光驱的使用已经不像以前那样普及了。但是在数据备份、安装软件和操作系统、旧设备兼容等领域还有在使用。

2023-12-28 19:51:55 1528 3

原创 AI大模型的基础知识点汇总

近几年AI领域的技术发展突飞猛进,毫无疑问AI已经成为了先进生产力的代表。作为一名普通程序员如果对相关技术不闻不问,等待自己的只能是淘汰。这里以一个小白的视角,梳理了近些年AI前沿的一些技术和那些大家容易忽视的基本概念,也算是给自己一个入门吧。

2023-11-19 16:49:11 1015

原创 思考的起点(一): 事实与判断

事实与判断是思考的主要组成部分,深入理解事实与判断的基本概念,了解其应用可以提升个体的思考质量;

2023-11-05 14:47:05 407

原创 SQL基本语法用例大全

SQL(Structured Query Language), 数据库的标准语言。 SQL语言的功能包括数据查询、数据操纵、数据定义和数据控制四个部分。 六个核心动词: SELECT、CREATE、INSERT、UPDATE、DELETE和REVOKE 每条SQL语句均由一个谓词(Verb)开始, 该谓词描述这条语句要产生的动作, 例如SELECT或者UPDATE关键字, 谓词后紧接着一条或者多条子句(Clause), 子句中给出了被谓词作用的数据或者谓词动作的详细信息。 每个查询语句都要有

2023-10-11 19:44:41 963 1

原创 MinIO的基础概念和用法大全

MinIO是一款高性能、分布式的开源对象存储系统, 它是一款软件产品。 MinIO公司旨在解决非结构化数据增长的需求, 开发了流行于业界的开源云存储软件MinIO。虽然MinIO是100%开源的, 但它既是一家公司又是一个开源项目。它采用GNU AGPL v3开源证书, 拥有GNU AGPL代码的版权, 同时还是MinIO项目的主要贡献者, 可独立对MinIO进行维护。

2023-10-11 19:39:20 2954

原创 深入理解算法的时间复杂度

时间复杂度就是一种用来描述算法在输入规模增长时所需执行时间的度量,即描述算法运行时间随问题规模增加而增长的速度,它是对算法执行时间的上界估计,通常通过O符号表示。时间复杂度描述了算法的效率和执行速度,可以用来对比不同算法的性能。备注:1.时间复杂度描述的是算法在最坏情况下的运行时间。这是因为最坏情况下的时间复杂度是对算法性能的上界估计,能够保证算法在任何情况下都能在该时间范围内完成。2.在实际的算法分析中,通常还考虑最好情况和平均情况下的时间复杂度。

2023-09-19 19:42:01 725 2

原创 通过JS脚本检查浏览器对视频编码的支持情况

在开发包含音视频功能的前端项目的时候,很多时候我们需要通过web组件播放一些音视频文件。但是和一些万能的播放器不一样,很多音视频封装格式、编码格式浏览器并不支持。因此,我们在播放视频之前需要检查浏览器是否支持对应的编码格式。这里就介绍一下如何通过js脚本检查当前浏览器是否支持某个编码格式。

2023-09-14 19:06:17 817

原创 video标签自动播放音视频并绘制波形图

video标签想自动播放,需要设置三个可选属性分别是muted、autoplay、controls,muted负责让音视频播放静音,autoplay让音视频自动播放,controls属性负责显示对应的控制菜单。html中的标签可以用来播放常见的音视频格式,支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等,当然支持的格式也和浏览器和操作系统有关。如果想要绘制音视频播放过程中的音频波形图,我们需要拦截对应的音频上下文,分析绘制对应的音频数据。// 创建音频上下文。

2023-09-07 19:39:32 2119

原创 Linux各类性能分析工具用法详解

在Linux性能分析和优化过程中,选用一个好的工具能极大的提高自己的工作效率。这里以Brendan Gregg的Linux性能工具图谱为线索,梳理了Linux系统下各个模块的性能分析工具,并对部分常用工具的用法进行了详细说明。掌握这些工具,可以极大的提高开发者程序性能优化的效果和效率。

2023-08-28 09:33:40 913

原创 vim编辑器用法详解

Vim(Vi IMproved)是一个功能强大的文本编辑器,是Vi(Visual Editor)的一个增强版本。它以其高度可定制性、强大的编辑功能和广泛的插件支持而闻名。这里介绍一下Vim编辑器的那些使用技巧,熟练使用这些技巧可以大大提升在Linux品台下文本编辑的效率。

2023-08-21 20:36:07 727

原创 使用libvncserver库快速搭建VNC服务端

libvncserver是一个开源的VNC服务器端库,可以集成到C/C++应用程序中,实现允许远程用户通过VNC客户端来显示和控制本地计算机的功能。libvncserver提供了一些功能强大的API,可以方便地与其他应用程序集成。它支持多个操作系统平台,包括Linux、Windows、Mac OS X和FreeBSD等,提供了多种VNC协议的实现。

2023-08-18 22:58:33 2103 13

原创 Linux平台下搭建GB28181服务器(WVP+ZLMediakit)

GB28181(国标28181),全称为《中华人民共和国公共安全视频监控联网系统技术要求》,是中国国家标准委员会发布的一个针对公共安全视频监控领域的标准框架。该标准指导了视频监控设备之间的联网互通,统一管理和控制,并提供了一套包括设备接入、设备管理、视频传输、事件告警等功能要求。

2023-08-11 09:24:03 4136 1

原创 Docker Compose用法详解

Docker Compose使用YAML文件来定义多服务的应用。Docker Compose是一个用于定义和运行多容器Docker应用程序的python工具。它允许您使用一个单独的配置文件来定义和配置多个相关容器的服务,以便它们可以一起协同工作。在Compose文件中使用${ENV_VAR}的方式引用环境变量,这样,Compose会自动加载.env文件中的环境变量,并将其传递给服务。直至今日,Docker Compose仍然是一个需要在Docker主机上进行安装的外部Python工具。

2023-08-10 18:09:52 565

原创 编写Dockerfile构建Docker镜像

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

2023-08-03 13:23:27 175

SoundTouch 源码 + VS2015/VS2017/MinGW 静态库

SoundTouch 库资源,可以轻松的实现音频的变声变调操作; 包含项目源码以及在VS2017/VS2015/MinGW下生成的静态库 可以拿来直接集成到自己的项目中。同时资源中提供了库源码,可以根据自己的需要编译生成对应的库;

2024-02-23

libvncserver 动态库(包含mips架构、arm架构、x86架构)

libvncserver 在各个CPU架构下编译的动态库 使用该库可以快速的搭建一个VNC服务端 在信创环境下编译该库 支持各个信创环境,kylin \ UOS 配套文章介绍了该库的用户

2023-08-18

SDL+FFmpeg库实现音视频同步功能

通过FFmpeg库和SDL库实现了音视频操作,简单的一个播放器

2022-10-23

VS2017编译的POCO库包含MySQL和OpenSSL(MT编译静态库)

采用VS2017完全编译的Poco库包含所有模块,静态库

2022-08-25

在ARM架构的Linux系统上编译的ptlib-2_10_9_4库

ARM架构上编译的ptlib库,静态库可以直接拿来使用

2022-08-18

windows版本的ptlib2_10_9_4静态库采用VS2015编译包含64位和32位

ptlib2_10_9_4编译还是比较费劲的,这个包里包含了32位和64位的静态库,编译器采用的是是VS2015

2022-08-18

Qt实现AES加密和解密

Qt自身没有对应的对称加密算法,这里提供一个加密实现,拿来就能用

2022-01-22

OpengGL 参考资料和Demo

OpenGL的详细教程以及对应的Demo教程

2021-11-20

C++读取ini文件.rar

C++语言读写ini文件

2021-07-07

Poco-VS2015-Mt.rar

VS2015编译好的完全Poco库拿来就能用

2021-06-29

C++编码风格指南参考资料.rar

C++编码风格指南参考资料

2021-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除