自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 资源 (55)
  • 收藏
  • 关注

原创 win64下cmake+mingw64编译libhv

在cmakeLists.txt文件中,大致在275行。

2025-05-08 14:40:03 201

原创 QLisview 实现model deletage,并且在不需要编辑的情况下自定义UI

如果要使用自己的自定义QWidget,比如利用ui文件和子当以类创建一个自定义的Item,如何再QListView中实现。在QListView中自定义model、deletage,普遍是使用paint函数绘制;以上就实现了下方的功能,左侧自定义listView,绑定右侧数据。以下用一个QListView的例子实现上述情景。为新项启用持久编辑器 重中之重。自定义ListView Item。

2025-04-21 17:07:02 213

原创 在C++业务类和QML之间创建一个数据桥梁

如果将BridgeClass 类通过qmlRegisterType 注册到QML中,在C++中如何能够调用到BridgeClass 对象吗,在qml中的对象和C++业务中的BridgeClass 对象需要统一,如果在qml中创建了BridgeClass 对象,在C++中就不能创建BridgeClass 类对象,但是需要用到QML中创建的BridgeClass 对象,怎么能够使用呢?工作中经常会遇到两种业务直接按无法直接沟通,此时需要建立一个桥梁将两者进行联系起来,假设一个C++业务类,有一个QML UI,

2025-04-21 17:05:57 281

原创 QLineEdit设置鼠标悬浮提示、超长显示省略号

【代码】QLineEdit设置鼠标悬浮提示、超长显示省略号。

2025-04-17 11:38:35 378

原创 qml c++混合编程注意事项

在Qml和C++类进行数据交互时,通用的办法都是注册C++到Qml中,但是很多时候C++的对象是在C++中进行创建,如果在Qml中创建了,数据之间的交互就会出现无法控制的问题。信号与槽、上下文等都是数据交互的方式,但是当嵌套多层时,内部的C++对象和内部的Qml内容交互无法直接连接。此时就需要通过一个代理的C++类作为数据和消息的连接通道。利用一个中间的代理类实现嵌套的消息和数据的交互,注册为engine的上下文。嵌套的交互,通知类、触发类的动作可以通过嵌套的信号与槽和C++绑定。

2025-03-12 21:59:08 162

原创 在QML中注册C++类型

在Qt6以后不在推荐使用qmlRegisterType注册C++类,但是如果在Cmake项目中不使用qt_add_qml_module,这种方法还可以使用。在继承自QObject的类中,需要生命Q_OBJECT,在该宏下面可以直接声明 QML_ELEMENT 宏,将该C++类注册到QML中;2. 基于 QML_NAMED_ELEMENT(name) 宏,给该C++类自定义类名注册到QML中,使用方法和QML_ELEMENT一样。C++类型,即无法在QML中创建、使用该C++类型声明属性。

2025-03-02 21:22:45 277

原创 QCustomplot源码编译cpp文件,错误file too big

mbig-obj编译信息,但是没说具体怎么去处理,对于cmake不太熟悉的人来说,简直就是一场信息灾难。具体的解决办法就是在 add_executable之后添加一个判断把大信息编译条件添加进去即可具体如下。使用cmake编译QCustomplot时,报错显示file too big,网上的信息都是添加。

2025-03-02 15:54:03 351

原创 使用cmake preset + vs2022构建Qt C++项目

由于vs2022的默认预设会自动生成,需要配置环境变量,windows版本的是msvc版的,如果需要切换mingw64需要在preset文件中添加对应的mingw64的环境。需要用到自定义的配置环境要将hidden字段置为false。cmake preset是cmake新版本中添加的内容,通过预设去构建cmake项目。Qt6官方推荐已经从qmake到cmake迁移了,以后cmake的支持会越来越多。

2025-03-02 15:49:21 402

原创 winddows查看端口号是否被占用

开始—->运行—->cmd,或者是 window+R 组合键,调出命令窗口。强制(/F参数)杀死 pid 为 9088 的所有进程包括子进程。回车执行该命令,最后一位数字就是 PID, 这里是 4468。查看被占用端口对应的 PID。查看指定 PID 的进程。

2024-12-05 17:12:31 322

原创 Qt+vs2022的中文乱码问题。

最近在项目中使用Qt中文时出现了乱码问题,但是以前的方法用着却没有作用了,关于vs + Qt中常量中文字符串、变量字符串中文乱码问题的解决方式。const char* info = “中文显示”;1.在项目中所有的头文件中添加。遂记录一下这次的解决方法。保证编码采用utf-8。

2024-07-30 17:20:33 471

原创 使用QGraphicsView三件套绘制图片,绘制鼠标事件

Qt通过鼠标绘制线条、矩形、多边形本质都是根据鼠标的坐标位移,使用QPainter的自带的函数进行绘制。

2024-07-29 14:46:07 385

原创 QML笔记八

在QQmlContext中设置一上下文(按照这样new QQmlContext(engine.rootContext())),上下文对象的是所有属性都可以在context中通过名称访问。context->setContextProperty(“stringModel”,&modelData) //////和下面代码的区别。//////和上面代码的区别。window销毁后,新创建的context必须显示销毁,可以将window作为context父对象,利用QT的对象内存结构自动销毁。

2024-05-15 23:05:36 1094

原创 windows下编译openssl

*

2024-05-14 14:15:01 550

原创 C++ 使用matplot++ 处理数据生成svg图表

python的图表库很丰富,C++依赖于python的 matplotlib的库却有很多功能不足,显得很鸡肋,其他的一些库没有过多的研究,Matplot++编译需要依赖一堆第三方库,可以参考官网,但是github上也提供了编译好的静态库,使用Matplot++同时需要下载安装gnuplot,并将gnuplot的bin加入到环境变量。将include、lib加入到对应的位置,并配置好路径和库连接,这部分不多说了。这里主要说说不依赖于python的纯C++ 的图表库 Matplot++

2024-05-13 09:55:25 619 1

原创 QML基础语法七

ListModel包含三个数据项,有三个ListElement表示,每个ListElement有三个角色name、cost、attributes。QUick的数据模型主要包含在QtQml.Model中,还有个基于XML的QtQml.XmlListModel。使用Repeater可以将模型中的数据在定位器positioners中进行布局和显示。使用XML类型的导入 import QtQml.XmlListModel。使用表格类型的需要import Qt.labs.qmlmodels。例子:存储水果信息,

2024-05-09 20:41:20 271

原创 C++下使用Matplotlib-cpp的一些配置

这里为了打包方便,将python3.dll、python39.dll、vcruntime140.dll /path/Anaconda3/Library/plugins/platforms复制到exe所在的目录中。或者使用虚拟环境中的envs中的python环境对应的include 和 Lib/site-packages/numpy/core/include。C/C+±–》常规–》附加包含目录—》(这里使用了Anaconda3默认的安装的python3.9,没有使用虚拟环境)//设置python环境。

2024-05-09 15:09:47 1048

原创 QML基础语法六

主要就是red、lime、blue、black、white、yellow、cyan、magenta、green、pink、gray、gold等。color,一个ARGB格式颜色值,主要通过SVG颜色名称、十六进制、Qt.rgba()表示。Image用来显示图片,路径由source指定,格式为Qt支持的任何格式,PNG、JPEG、SVG等。rotation属性指定顺时针旋转的度数,默认为0,正数为顺时针旋转、负数为逆时针旋转。Item拥有一个scale、rotation属性,可以实现缩放、旋转。

2024-05-05 22:37:30 1087

原创 QML基础语法五

是一个抽象控件,提供了按钮通用的功能,但本身无法直接使用。

2024-04-29 21:55:33 886

原创 QML语法基础四

在MouseArea没接受事件时,才可以继续传递,即当一个事件在MouseArea中处理,需要在其他事件处理器中设置 MouseEvent.acepted=false,该事件才能继续传播。例如1000ms的定时器,经过了500ms,突然去改变repeat值,则之前的500ms会重置为0,再过1000ms后才能触发。实现复杂的拖拽事件用到DragEvent,通过x、y获取拖动的位置,使用keys识别数据类型和源的键列表。键盘事件是在键盘上按下一个键时就触发,控件的focus设置为true,该控件便有焦点。

2024-04-27 12:10:43 1138

原创 QML语法基础三

定位器添加删除一个子Item时,可以使用Transition,添加动画效果 上述四个定位器都有 add move。如果可以通过x y width height 解决,尽量使用,因为布局管理器、定位器锚会占用大量内存和实例化时间。QML提供了多种布局管理器、定位器、基于锚anchors的布局、x,y,width,height等调整用户界面。将子项目排列在网格中,向网格中添加项目会按照从左到右,从上到下进行排列。可以从前向后,像流一样布局子项目,超出宽度自动话换行。populate属性。

2024-04-25 22:37:51 698

原创 QML语法计基础二

top: 30} 整数验证器 限制输入为10-30的整数。TextInput.PasswordEchoOnEdit 使用密码验码字符,在输入时显示真实字符。Text.StyledText 支持一些基本的html文本样式标签,要求标签必须正确配套。mapFromItem(item,x,y)将子容器坐标(x,y)映射到其父容器的坐标上。父容器的不透明度会影响到子容器,如果要设置不透明度,只需要更改子容器的不透明度即可。单词间距 正值加大间距 负值减小间距。

2024-04-23 23:04:09 683

原创 QML语法基础一

2.1声明:C++中通过Q_PROPERTY宏:QML中通过 property propertyType propertyName—>例子:property color nextColor。声明了一个color类型的nextColor属性,隐式为该属性创建了一个onNextColorChanged,如果nextColor值改变就会触发,即称之为onSignalName:(_,y)=>console.log(”: "+y) //只访问第二个参数,不访问第一个。

2024-04-18 22:44:55 1238

原创 Qt的Model-Deletage委托代理机制

处理编辑器的事件: 通过实现eventFilter()方法来处理编辑器的事件,如键盘事件;渲染特定类型的数据: 通过定制单元格的外观来渲染特定类型的数据,例如颜色,字体等;支持不同类型的编辑器: 支持不同类型的编辑器,例如文本编辑器,下拉列表编辑器等;编辑特定类型的数据: 通过创建编辑器来编辑特定类型的数据,例如日期,数值等。更新编辑器的尺寸: 通过实现sizeHint()方法来更新编辑器的尺寸;属性编辑器: 使用委托可以创建自定义属性编辑器来编辑特定类型的属性。

2023-11-16 14:35:50 622

翻译 vtk如何实现事件回调、交互的创建

创建交互事件类,继承对应的vtkInteractorStyle。创建回调事件类,继承vtkCommand。

2023-07-20 14:47:36 403

原创 Linux如何给当前登录用户添加root权限

【代码】Linux如何给当前登录用户添加root权限。

2023-06-07 15:36:00 1240

转载 Vtk实现DCM转PNG

通过获取到的vtkImageData数据,将其转换为通用图像数据,通过QImage可以实现转存为其支持的任何格式。

2023-02-28 11:23:16 408

原创 visual studio 2017创建Cmake项目,并修改默认工作目录

设置vs 2017创建Cmake项目

2022-12-01 14:16:14 3462

原创 Ubuntu打包Qt deb程序

Ubuntu下打包Qt程序为deb安装包

2022-11-21 17:24:51 1065

原创 Qt Widget设置右键Qmenu菜单栏

QtWidget设置右键Qmenu菜单栏。

2022-07-22 13:41:11 960

原创 BeegFS编译以及简单的搭建

BeeGFS编译编译整体模块编译单个模块简单搭建环境编译整体模块需要将gcc版本升级到高版本,支持C++14yum install libuuid-devel libibverbs-devel librdmacm-devel libattr-devel redhat-rpm-config \ rpm-build xfsprogs-devel zlib-devel ant gcc-c++ gcc \ redhat-lsb-core java-devel unzip libcurl-devel e

2022-04-26 14:49:53 1658

转载 GDB调试-从入门实践到原理

转载自:CPP开发者背景作为C/C++开发人员,保证程序正常运行是最基本也是最主要的目的。而为了保证程序正常运行,调试则是最基本的手段,熟悉这些调试方式,可以方便我们更快的定位程序问题所在,提高开发效率。在开发过程,如果程序的运行结果不符合预期,第一时间就是打开GDB进行调试,在对应的地方设置断点,然后分析原因;当线上服务出了问题,第一时间查看进程在不在,如果不在的话,是否生成了coredump文件,如果有,则使用gdb调试coredump文件,否则通过dmesg来分析内核日志来查找原因。概念

2022-04-22 14:55:06 5768

原创 C++11新特性学习--容器篇

class STLClass{public: //关联容器 排序的 map set static void testMultiSet() //可以有重复值 { multiset<string> city{"xian","beijing","tianjin","henan","weinan"}; for(const auto &elem : city) { cout<<elem&l

2022-03-08 15:38:12 913

原创 C++11新特性学习--第一篇线程同步死锁及异步线程问题

头文件:#include < thread >互斥锁 数据竞争与资源互斥std::mutex mtx;void shared_printf(string msg,int id){ //mtx.lock(); //当互斥对象内部资源出现异常时,此处将造成死锁 //cout<<"__FUNCTION__ msg:"<<msg<<" id:"<<id<<endl; //mtx.unlock();

2022-03-08 15:28:53 1004

原创 错误:can‘t create 事务 lock on /var/lib/rpm/.rpm.lock (只读文件系统)

mount -o remount rw /usr; mount -o remount rw /var; mount -o remount rw /

2021-12-13 14:21:11 2808 2

转载 开发过程中错误码总结

〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效。〖14〗-存储器不足,无法完成此操作。〖15〗-系统找不到指定的驱动器。〖16〗-无法删除目录。〖17〗-系统无法将文件移到不同

2021-12-10 17:16:27 1680 2

原创 记录一些windows开发的工具函数

windows时间转Linux时间static void FTimeToSystemTime(FILETIME file_time, time_t* t){ ULARGE_INTEGER ui; ui.LowPart = file_time.dwLowDateTime; ui.HighPart = file_time.dwHighDateTime; *t = ((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000); }sta.

2021-12-06 16:43:50 275

原创 Git常用的命令

#查看远程分支git branch -r#查看本地分支git branch -a删除目标分支git branch -D master切换分支git checkout 本地分支名重新拉取master分支git checkout master拉取远程分支到创建的本地分支git checkout -b 本地分支 origin/远程分支拉取远程分支(先创建本地分支,在切换到当前分支)git pull origin 远程分支使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需.

2021-12-03 09:28:01 180

原创 CreateTimerQueueTimer精度问题 本地时间戳

在windows平台上使用 CreateTimerQueueTimer定时器时,需要将精度设置到1-2 ms的时间,但是CreateTimerQueueTimer的执行时间片在15ms左右,后来无意间找到一篇文章原来是微软故意这么干的,他觉得设置精度到毫秒级别,太耗费资源了,如果是移动设备,频繁唤醒切换线程,电池消耗得很快。于是微软宁肯抛弃强兼容性传统,也坚决让这函数失效。悲催啊!性能问题,你这样搞就很扯淡呀微软!!!!!!...

2021-11-29 16:24:28 1092

原创 Qt事件与自定义事件处理

QObject 类是所有 Qt 对象的基类,是 Qt 对象模型的核心,所有 Qt 部件都继承自 QObject。QObject 及其派生类的单形参构造函数应声明为 explicit,以避免发生隐式类型转换QObject 类既没有复制构造函数也没有赋值操作符函数(实际上它们被声明为私有的),因此无法通过值传递的方式向函数传递一个 QObject 对象每一个 QObject 对象只能有一个父 QObject 对象,但可以有任意数量的子 QObject 对象A ma; B mb; C mc;ma..

2021-09-24 10:33:54 758

原创 Linux 软链接和硬链接

突然忘记怎么区分软连接和硬链接了,做一次备份吧!硬链接创建:ln 原始文件名 产生的硬链接名称ln libfuse libfuselnk 这里libfuse就是源文件,libfuselnk就是生成的硬链接软连接创建:ln -s 原始文件名 产生的硬链接名称ln -s libfuse libfuselnk再Linux中怎么区分软连接和硬链接呢?如下图硬链接的节点符号( inode 号)和源文件是相同的,相反软连接是不同的...

2021-09-17 14:54:06 252

RTP发送(TCP UDP两种方式)

RTP发送、接收(采用TCP和 UDP两种方式)

2017-08-05

SecureCRT_CN 串口工具

SecureCRT_CN

2017-08-05

精通网络视频核心开发技术清晰版.pdf

精通网络视频核心开发技术清晰版.pdf

2017-08-02

RTP发送接收

C++写的RTP包的接收与发送

2017-07-18

libsrtp原生库

libsrtp原生库

2017-07-13

mysql 6.0 安装包

mysql 6.0 安装方便

2017-06-15

stun穿透nat 以及返回nat类型

github上的一个开源项目,java程序验证stun穿透nat

2017-06-14

C回调java几种方法

C回调java方法的几种用法

2017-06-11

javaScript Html实用教程

javaScript Html实用教程

2017-06-02

visual studio code

微软退出的visual studio的轻量级应用,旨在应用web开发,支持多种语言,后续还会更新更多种支持的语言

2017-05-25

网页设计与制作教材整理

网页设计与制作教材整理

2017-05-25

jQuery1.11.0帮助文档

jQuery1.11.0中文帮助文档

2017-05-25

后台管理系统的模板

不错的后台管理模板

2017-05-25

jquery EasyUI文档

很好用的文档

2017-05-25

测试udp打洞

使用udp测试p2p打洞的过程

2017-05-24

node-js-windows开发环境

windows 安装node-js开发环境

2017-05-23

ICE-开源库

github开源库依赖

2017-05-23

面包屑多级下拉菜单

面包屑多级下拉菜单

2017-05-23

css样式的带动画、弹性的下拉菜单

自带弹性的下拉菜单

2017-05-23

css多级下拉菜单

很好看的多级下拉菜单

2017-05-23

修改注册表类.txt

文件是修改、查询Widnows注册表的一个类,下载后只需要将类种对应的key、子key修改为自己对应的注册表的类即可。

2020-07-07

Qt调用动态库文件的使用方法.rar

该文件包含了Qt调用MFC的插件、调用DLL so文件的方式,具体的都以文档的形式罗列出来,文档中的例子全是亲自实践过了,完全可用。

2020-06-04

DialogTestCEF.rar

cef3资源重定向,继承Provider并实现OnRequest,由于之前项目中使用到了libcef,但是之前的同事写的代码有问题,不能够在MFC Dialog中有效的拦截到对应的URL的请求,也无法监听到,网上的资料大部分都是模糊不清,给大家的误导也是挺大的,所以打算写一个Demo,让大家少点时间去搜索,不过还是建议多看源码,源码中的Demo对于libcef的使用有挺多的启发。

2020-05-14

MyLive555.zip

依赖开源项目live555,编译windows平台的推流服务器,测试使用VLC即可,输入rtspURL便可以拉流,整个服务器项目已经打包好了,可以直接用。

2019-12-06

MFC加载Gif三方库.zip

一份在MFC Windows上C++开发的加载东泰Gif图片的工具代码,简单易用。可以细读其中代码,细细品味。

2019-08-07

jsoncpp-master.zip

一个开源的C++的解析Json字符串的库代码,使用方便简单。

2019-08-02

OpenCV3书本配套资源.rar

opencv 3图像视频处理,附带源码以及Demo.exe演示,针对于初学者非常实用,不过最好对于每个demo的原理有了解,这样学习起来才会事半功倍

2019-07-10

openal-soft-master.rar

跨平台音频源代码,其中包含android版本的编译方式,An Open Audio Library With Amazing Positional Audio

2018-01-15

Windows网络编程(第二版)

学习windows网络开发的很好的入门的一本书,个人感觉非常适合小白入门学习。例子也非常详细

2018-01-09

openal-soft-android-master

从github上下载的关于openAL编译的源码链接地址:https://github.com/AerialX/openal-soft-android

2017-12-06

ts流中pat表pmt表解析

文件中具体阐述了关于ts流中PAT表和PMT表的结构,采用采购提的形式将ts包头和PMT表结构和PAT表结构清晰显示出来,代码具体显示了如何去解析header和PAT

2017-09-07

shell脚本入门

文件里面集中的描述了基本常用的关于shell脚本编写的使用到的命令,命令解释简单明了,言简意赅,动手敲一遍基本上都会使用,贵在坚持学习。共勉

2017-09-07

修改vim为编译器的所需工具文件

修改vim为编译器的所需工具文件

2017-08-25

对TS文件进行分析,解析出其中的I帧,用C语言的实现

对TS文件进行分析,解析出其中的I帧,用C语言的实现

2017-08-24

pthread-prebuilt-dll-2-9-1-release

pthread 开发库源码

2017-08-16

手势缩放核心代码

android手势缩放 surfaceview,肯定不会运行起来,手势的基本算法在里面,当时毕业公司让做的一个小功能。

2017-08-09

qt-creator-win

QT安装软件

2017-08-09

VA_助手番茄-Vs2013

stduio 2013 VA助手

2017-08-08

Linux C C++入门

Linux C C++入门

2017-07-31

c++ 基础提高

c++ 基础提高

2017-07-31

空空如也

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

TA关注的人

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