自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深之JohnChen的专栏

什么思想决定什么样行为;什么样行为决定什么样的习惯,什么样的习惯决定什么样性格,而什么性格决定什么样的命运。

  • 博客(1223)
  • 资源 (67)
  • 收藏
  • 关注

原创 QML中打印Item的坐标

在 QML 中,你可以通过多种方式获取和打印 Item 的坐标信息。

2025-04-14 21:36:27 175

原创 QML ListView 与 C++ 模型交互

这是最强大和灵活的方式,适合复杂数据结构。是中的一个关键方法,它在 QML 与 C++ 模型交互中扮演着重要角色。这个方法定义了模型中可用的数据角色及其对应的名称。通常在模型头文件中定义角色枚举:cppQ_OBJECTpublic:NameRole = Qt::UserRole + 1, // 从UserRole开始避免与内置角色冲突ColorRole,SizeRole,// 添加更多角色...// ...

2025-04-13 10:35:34 361

原创 QML实现RTSP以及本地解码播放

qmlwidth: 800id: player// 控制面板height: 60Row {Button {Slider {width: 500from: 0Text {

2025-04-12 18:30:05 602

原创 QML 中的 QVariantMap

QVariantMap 是 Qt 中的一个容器类,它实际上是的别名。在 QML 中,它常用于:存储键值对数据在 C++ 和 QML 之间传递复杂数据表示 JSON 格式的数据结构。

2025-04-12 18:26:03 187

原创 QML之ListView

qmlmodel: myCppModel // 需要在C++中注册。

2025-04-12 11:50:10 900

原创 QML之Flickable(滚动区域)

Flickable是 QML 中用于创建可滚动区域的基础组件,它比ScrollView提供更底层的控制,适合需要自定义滚动行为的场景。

2025-04-12 11:38:58 237

原创 QML之ScrollView(滚动视图)

qml// 自定义滚动条样式height: 10width: 10。

2025-04-12 11:29:32 756

原创 QML之对话框

qmlid: rootwidth: 300property string title: "对话框"Text {// 阻止点击事件穿透到背景。

2025-04-12 10:49:24 311

原创 OpenCV 伪彩色处理

i < 256;i++) {// 自定义RGB映射规则2*i : 255,return lut;// 创建自定义LUT// 应用LUTreturn 0;

2025-04-11 21:18:18 429

原创 QML 窗口

qml// 自定义标题栏height: 40Text {Row {spacing: 5Button {width: 40;height: 40text: "✕"flat: true// 内容区域Item {// 主内容...

2025-04-11 00:55:16 238

原创 QML 常见按钮类型及实现

height: 40radius: 5Text {text: "自定义按钮"onClicked: console.log("自定义按钮点击")

2025-04-11 00:36:21 128

原创 QML 中 Z 轴顺序(z 属性)

在 QML 中,z属性用于控制元素的堆叠顺序(Z 轴顺序),决定元素在视觉上的前后层次关系。

2025-04-11 00:21:05 199

原创 QML Item 元素

Item 是 QML 中最基础的视觉元素,作为所有可视组件的基类,它提供了基本的属性和功能,但不具有可视化表现(没有颜色、边框等)。

2025-04-11 00:14:36 166

原创 QML自定义组件

qml// MyButton.qml(单独一个qml文件)id: root// 可自定义属性width: 120;height: 40radius: 5Text {qmlItem {id: root// 基本属性// 带默认值的属性// 只读属性// 别名属性// 信号// 子元素id: input。

2025-04-11 00:11:03 345

原创 QML中的信号与槽机制

qml// 在自定义组件中定义信号Item {id: myItemsignal mySignal(string message, int value) // 带参数的信号// 触发信号qml// 发送信号的组件id: senderwidth: 100;height: 50// 接收信号的组件width: 100;

2025-04-10 23:48:46 327

原创 QML自定义属性和方法

qmlqml// 方法体qmlItem {id: rootwidth: 200;height: 20。

2025-04-10 23:37:48 246

原创 QML之MouseArea使用方法

height: 40radius: 5Text {text: "点击我"onClicked: console.log("按钮被点击!")

2025-04-10 22:22:45 233

原创 qml之锚点Anchors

QML 中的锚点(Anchors)是一种声明式的布局系统,它允许你定义 UI 元素之间的相对位置关系,而不是使用绝对坐标定位。

2025-04-10 20:59:28 503

原创 LVGL开发指南

主流ARM开发UI界面库

2025-04-09 23:51:17 618

原创 CUDA代码编译为动态库

将 CUDA 代码编译为动态库(.dll或.so)供其他程序调用,需解决和问题。完全移除对FindCUDA的依赖,改用 CMake 原生 CUDA 支持:cmake由于本地电脑安装了多个版本的CUDA库,需要指定CUDA版本。比如:我电脑安装CUDA11.8和CUDA10.2,环境变量中添加的是CUDA11.8cmd主机-设备内存拷贝由动态库内部处理,调用方只需管理主机内存。避免在动态库接口中直接暴露 CUDA 指针(如float* d_a。

2025-04-09 20:39:59 585

原创 CUDA编译器nvcc

用。

2025-04-09 16:00:20 1020

原创 Windows上使用Qt搭建ARM开发环境

进行 ARM Linux 交叉编译(例如针对树莓派或嵌入式设备),需要配置 交叉编译工具链 和 Qt for ARM Linux。CMAKE_C_FLAGS: 根据目标 ARM 架构调整(如 armv7-a + hard float)。TOOLCHAIN_PREFIX: 工具链前缀(如 arm-linux-gnueabihf)。CMAKE_SYSTEM_NAME: 目标系统(Linux 表示 ARM Linux)。或从设备供应商获取 SDK(如 Yocto 生成的 Qt 库)。

2025-04-09 10:58:45 800

原创 Windows上安装MSYS2

MSYS2(Minimal SYStem 2)是基于Cygwin和MinGW-w64构建的Windows开发环境,提供类Unix命令行工具和软件包管理系统,适用于跨平台编译、脚本开发等场景‌。以下是其核心功能:‌‌‌‌pacman‌‌mintty。

2025-04-09 10:06:00 1066

原创 OpenSceneGraph之OpenThreads

OpenThreads 是 OpenSceneGraph (OSG) 的核心多线程支持库,提供了跨平台的线程、互斥锁和同步原语实现。

2025-04-09 01:05:12 265

原创 Open Scene Graph插件

创建自定义文件格式插件的基本步骤:继承实现读写方法注册插件工厂函数public:if (!// 实现自定义解析逻辑// ... 解析文件内容并构建场景图// 注册插件。

2025-04-09 01:00:49 385

原创 Open Scene Graph粒子系统

Open Scene Graph 提供了强大的粒子系统功能,允许开发者创建各种视觉效果,如火焰、烟雾、爆炸、魔法效果等。

2025-04-09 00:54:34 226

原创 OpenSceneGraph相机系统

public:// 处理键盘鼠标事件break;

2025-04-09 00:51:45 491

原创 OpenSceneGraph特效实现

/ 使用Billboard技术实现面向相机的树木。// 每根草由几个顶点组成。// 使用几何着色器实现草叶动画。// 设置颜色、纹理等...// 创建大量草叶实例。

2025-04-09 00:40:02 749

原创 Open Scene Graph 3D到2D坐标转换

OSG中实现3D世界坐标到2D屏幕坐标的转换是许多应用的基础功能,如HUD显示、对象拾取等。

2025-04-09 00:35:31 413

原创 Open Scene Graph中文文字处理

OSG 支持中文文字显示,但需要正确配置字体和文本设置。

2025-04-09 00:21:40 355

原创 Open Scene Graph动画系统

OSG 提供了强大的动画功能,支持多种动画实现方式,从简单的变换动画到复杂的骨骼动画。

2025-04-09 00:16:20 424

原创 Open Scene Graph事件处理

public:// 处理A键按下// 事件已处理break;// 处理鼠标左键点击break;// 事件未处理,传递给其他处理器// 添加到视图器:轨迹球操作器(默认):飞行操作器:驾驶操作器:地形适配操作器继承可以实现完全自定义的交互方式。

2025-04-09 00:08:12 328

原创 CMake使用

CMake是一个跨平台的自动化构建系统,用于管理软件构建过程。

2025-04-08 20:29:52 901

原创 Qt子模块的功能介绍

tsQtWidgetsQtChartsQtNetworkQtQuickQtMqtt(注意ARM需交叉编译Chromium)QtChartsQt3D使用qmake或CMake时,通过添加依赖(如。

2025-04-08 14:40:03 1325

原创 QML布局

qml布局

2025-04-08 11:27:11 838

原创 Qt 交叉编译详细配置指南

编辑# 修改以下内容匹配你的工具链# 目标平台设置# 链接器标志。

2025-04-08 10:31:46 443

原创 ​‌Qt的稳定版本与下载

​‌Qt的稳定版本主要包括Qt5和Qt6的长期支持(LTS)版本‌。

2025-04-07 22:26:05 677

原创 SSH远程工具

此时我们输入最开始的查询命令“telnet 127.0.0.1 22”,就能看到Ubuntu系统已经显示出端口22的反馈信息(如果Ubuntu系统中安装了SSH,也会显示此信息)。然后需要查看Ubuntu系统的IP地址,只要在Ubuntu系统输入命令“ifconfig”,就能查询到该系统的IP地址(同一局域网下)。),找到适合你的安装包即可。(2)点击Session会话设置,选择ssh连接,主机名输入相应IP地址,点击OK确定连接;在下拉中能看到选择配置或输入地址,你可以同时开打多个已经安装的连接窗口。

2025-04-07 21:51:44 649

原创 Linux系统的不同发行版的常用命令

Linux 系统的不同发行版在常用命令上存在一些差异,主要体现在 包管理命令、服务管理命令 和 部分工具链 上。以下是主要区别对比:记住核心差异:包管理:(Debian) vs (Red Hat) vs (Arch)服务管理:(主流) vs (旧版)查询工具所属包: 通用命令优先:文件操作()、文本处理()等命令在所有发行版中完全一致。使用 文档:

2025-04-07 16:15:39 244

原创 Linux系统中查找软件安装位置

在 Linux 系统中,安装的软件可能分布在多个标准目录中。

2025-04-07 15:57:11 184

CH340, CH340G & CH341 (USB-SERIAL chip) V3.5

CH340串口芯片在Windows中遇到串口打开、关闭后无法再次打开。返回错误码是31(连到系统上的设备没有发挥作用。) 下载对应的V3.5驱动即可解决。 CH340, CH340G & CH341 (USB-SERIAL chip) V3.5 Driver Version = 2019-01-30, 3.5.2019.1

2024-04-16

librtmp x64 vs2015版本库文件

librtmp V2.3 x64版本编译好的lib库文件以及源代码。 librtmp是一个RTMP的开源库,很多地方用它来做推流、拉流。它是RTMPDump开源软件里的一部分。librtmp库实现了rtmp协议的客户端功能,以及少数服务端功能。 优化功能: 1)解决“关闭Nagle加如此小的块大小会导致很多小包并且CPU占用高”问题。 2)增加发送数据超时时间,防止librtmp发送阻塞。 3)AMF_GetProp函数bug修改。

2022-05-09

ice同步调用和异步调用实例代码

Ice 是一种针对客户端和服务器进行通信的面向对象的中间件平台。Ice 为构建面向对象的客户-服务器应用提供了工具、API 和库支持。客户和服务器通信双方可以用不同的编程语言编写,目前最新的版本支持的语言包括C++,.NET,Java,Python,Objective-C,Ruby,PHP and ActionScript。客户和服务器可以分别部署,可以运行在不同的操作系统和机器架构上。本代码为ice同步调用和异步调用实例代码。

2019-04-07

Qt中调用MFC对话框

QT是一个跨平台应用程序和UI开发框架。windows开Qt开发方法:一、Qt Creator+MinGW 或者 Qt Creator+VC++ Compiler二、QT4.8.5 for Windows(VS2015+VS插件)。本实例为VS2015+Qt+Qt插件中开发Qt应用程序同时调用MFC对话框。

2019-03-23

调用OPENCV3.4.4库,在MFC中显示图片

调用OPENCV库,在MFC中显示图片,添加CvvImage类来显示程序图片,我用的是VS2015 + OPENCV3.4.4

2019-03-03

thrift web实例代码

thrift web实例代码。使用thrift js时,PRotocol需要使用TJSONPRotocol/TBinaryProtocol协议,Thrift.Protocol对应的是TJSONPRotocol。Transport需要使用TXHRTransport/TWebSocketTransport通道,Thrift.Transport对应的是TXHRTransport。

2018-12-07

websocketpp实例代码

WebSocketpp是一个支持websocket功能的库,C++语言,本身不需要搭建什么环境,只要新建的项目引入相关的库就行。本实例代码包含了服务器,CS客户端、web客户端代码。

2018-11-29

xlslib-2.5.0

xlslib库是用来创建excel文件、libxls是用来读取excel文件的。vc2015编译版本,支持中文字符串。

2018-10-29

ffmpeg视频解码和编码代码实例

ffmpeg视频解码和编码代码实例。decoder目录中的代码是对视频进行解码的实例。encoder目录中的代码是对视频进行编码的实例。

2018-06-12

MessagePack序列化实例代码

MessagePack是一个基于二进制高效的对象序列化Library用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。 支持Python、Ruby、Java、C/C++、Javascript等众多语言。 比Google Protocol Buffers还要快4倍。本代码是在netty中使用MessagePack序列化

2017-12-02

LengthFieldBasedFrameDecoder 实例代码

netty中,大多数的协议在协议头中都会携带长度字段,用于标识消息体或则整包消息的长度。LengthFieldBasedFrameDecoder通过指定长度来标识整包消息,这样就可以自动的处理黏包和半包消息,只要传入正确的参数,就可以轻松解决“读半包”的问题。

2017-12-02

netty 分隔符解码器使用实例

Netty框架中LineBasedFrameDecoder分隔符解码器解决考虑TCP的粘包与拆包问题。依次编译bytebuf中的可读字符,判断看是否有“\n”或者“\r\n”,如果有,就以此位置为结束位置,从可读索引到结束位置区间的字节就组成了一行。它是以换行符为结束标志的解码器,支持携带结束符或者不携带结束符两种解码方式,同时支持单行的最大长度。如果连续读取到最大长度后,仍然没有发现换行符,就会抛出异常,同时忽略掉之前读到的异常码流。

2017-12-02

微软TTS语音引擎实现文本朗读代码

TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把文本转化为语音输出。TTS语音引擎有微软TTS语音引擎等。微软TTS语音引擎提供了Windows Speech SDK开发包供编程者使用。Windows Speech SDK包含语音合成SS引擎和语音识别SR引擎两种,语音合成引擎用于将文字转换成语音输出,语音识别引擎用于识别语音命令。

2017-11-07

pcm与g726相互转换

pcm与g726音频之间相互转换。选择ffmpeg g726编码器进行解码。ffmpeg g726解码器包括:AV_CODEC_ID_ADPCM_G726、AV_CODEC_ID_ADPCM_G726LE。如果海思g726码流类型为asf时,请选择AV_CODEC_ID_ADPCM_G726解码器类型;如果海思g726码流类型为RFC3551标准时,请选择AV_CODEC_ID_ADPCM_G726LE解码器类型。

2017-11-02

modbus lib vs2008

modbus协议动态库,支持 Linux, Mac OS X, FreeBSD, QNX and Windows

2017-10-08

Modbus C++实例

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。Modbus C++实例代码是基于VC编写的代码,包含了线程操作。

2017-09-17

环型缓冲区C++代码

环型缓冲区C++代码

2017-08-17

Hibernate注解配置表映射实例

Hibernate注解配置表映射实例

2017-08-12

Hibernate XML配置表映射实例

Hibernate XML配置表映射实例

2017-08-12

Thrift双向通讯java代码

Thrift双向通讯java代码

2017-08-06

Win10版本的ADO组件包

Win10版本的ADO组件包,文件版本号是10.0.14393.0

2017-07-30

thrift vc2008版本静态库

thrift对于的vc静态库,vc2008版本编译。

2017-07-06

mfc与duilib之间控件相互调用

mfc与duilib之间控件相互调用

2017-06-04

UIDesigner

Dui界面制作,修改skin文件(*.xml)保存失败问题。

2017-06-02

web调用本地应用程序exe例子

web调用本地应用程序

2017-02-16

librtmp获取视频流和音频流

librtmp获取视频流和音频流

2017-01-03

libsamplerate vs2008版本

采样率转换库libsamplerate的vs2008版本

2016-12-27

Flv文件提取视频流H264

从Flv文件中提取h264视频流

2016-12-16

VC静态库开发与调用

VC静态库开发与调用

2016-09-02

gsoap实例代码

gsoap实例代码,包含服务器代码和客户端代码,支持多线程。

2016-06-15

vlc插件和海康NetVideoActiveX23开发包

vlc插件和海康NetVideoActiveX23开发包

2016-06-12

移动应用界面设计的尺寸规范

移动应用界面设计的尺寸规范,包括android界面设计、ios界面设计、ipad界面设计。

2015-08-06

调试Release程序--Dump文件方式

在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调试release版本了。目前有一些方法可以解决:崩溃地址 + MAP文件;MAP文件;SetUnhandledExceptionFilter + Minidump。

2014-05-15

检测一程序服务实例

一个简单的检测某程序(服务器)运行异常自动拉起程序的服务。

2013-02-02

BlowFish算法

BlowFish算法用来加密64Bit长度的字符串。

2012-02-11

VC编写与调用COM连接点demo

COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上发生某些事件时调用客户端。

2011-07-12

C++ 检测内存泄漏

C++ 检测内存泄漏 检测内存泄漏的方法多种多样,有使用内存泄漏检测工具(比如BoundsChecker)检测内存泄漏;有直接看代码检测代码逻辑,看那些地方是否没有释放内存。

2011-04-27

基于改进的S I F T特征的图像双向匹配算法

图像匹配是计算机视觉中许多领域的基础, 特征提取则是图像匹配的基础, 其中不变量特征是一 个重要的理论。S I F t 是最有效的尺度、 旋转、 亮度不变量局部特征之一, 但算法复杂、 计算时间长。分析 了S I F t的计算时间分配, 通过计算关键点的邻域梯度直方图时动态修改采样步长, 大大提高了S Wr的 计算速度。分析了基于S I F t特征的图像匹配算法, 提出了双向匹配算法, 提高了图像匹配的准确率。实 验结果表明所提出的方法是有效的。

2010-07-21

CppUnit测试框架在VC2008中应用

用CppUint进行测试时,一般先以某个函数或者某个类作为测试单元,完成测试;在完成这些基本的测试后,再将引用到测试过的这些函数或者类的函数或者类,作为测试单元完成测试;继续下去,从而完成整个模块甚至是整个系统的测试,从而达到更多清除bug的目的。

2010-07-19

WTL教程中文版资料

WTL 在开发者之间的悄悄传播已经超过一年了, 传闻它是基于ATL的,并在微软内部使用.这理所当然的引起了ATL开发者社区的注意.这些人从ATL1.1开始,就一直为ATL控件书写UI代码,但是他们发现,他们的所写的代码常常就是纯的Win32 GDI代码.我告诉您, WTL并没有多大不同.是不是让人失望? 不,因为ATL只是对COM进行了简单的封装,这也是ATL的强大之处. 是的,写ATL您必须通晓COM. 您在ATL上额外花费的功夫跟您学习COM所作的努力比起来,简直微不足道.这跟那些需要把主要精力花费在学习类库本身,忽略COM的库是完全不同的.WTL与此类似.您需要懂得Win32窗口技术和GDI.只要您懂得,学习WTL就似清风抚面,再简单不过了.如果您不懂 这些,那么您最好使用VB来写UI代码.

2010-04-21

空空如也

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

TA关注的人

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