自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QML笔记八

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

2024-05-15 23:05:36 993

原创 windows下编译openssl

*

2024-05-14 14:15:01 379

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

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

2024-05-13 09:55:25 316 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 195

原创 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 844

原创 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 940

原创 QML基础语法五

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

2024-04-29 21:55:33 675

原创 QML语法基础四

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

2024-04-27 12:10:43 972

原创 QML语法基础三

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

2024-04-25 22:37:51 560

原创 QML语法计基础二

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

2024-04-23 23:04:09 565

原创 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 1068

原创 Qt的委托代理机制

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

2023-11-16 14:35:50 448

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

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

2023-07-20 14:47:36 301

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

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

2023-06-07 15:36:00 1090

转载 Vtk实现DCM转PNG

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

2023-02-28 11:23:16 298

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

设置vs 2017创建Cmake项目后,修改其默认工作目录

2022-12-01 14:16:14 2701

原创 Ubuntu打包Qt deb程序

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

2022-11-21 17:24:51 846

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

QtWidget设置右键Qmenu菜单栏。

2022-07-22 13:41:11 828

原创 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 1439

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

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

2022-04-22 14:55:06 4022

原创 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 850

原创 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 901

原创 错误: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 2557 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 1470 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 227

原创 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 117

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

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

2021-11-29 16:24:28 915

原创 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 672

原创 Linux 软链接和硬链接

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

2021-09-17 14:54:06 180

原创 Qt反射机制获取属性信息

一、反射系统1、QMetaProperty 类①、作用:用于描述对象的属性,可使用该类的成员函数获取对象属性的信息。②、该类拥有一系列的返回 bool 值的成员函数,用于判断属性的行为(见下表)isReadable() 可读返回trueisEnumType() 若属性的类型是枚举,则返回 trueisWritable() 可写返回 true isFinal() 声明属性时 FINAL 是否为 trueisValid() 属性有效则返回 true。 isFlagType()

2021-09-16 19:45:39 2073

原创 QVariant类和属性系统

一、QVariant 类使用QObject::property 函数可读取属性的值,使用 QObject::setProperty 函数可以设置属性的值,但是属性有很多种类型,怎样使用 property 函数返回的属性值具有正确的类型呢?为解决这个问题,使用了一个QVariant 来描述类型.QVariant 类用于封装数据成员的类型及取值等信息,该类类似于 C++共用体 union,一个QVariant 对象,一次只能保存一个单一类型的值。该类封装了 Qt 中常用的类型,对于QVariant 不

2021-09-16 15:54:18 919

原创 Qt的属性系统

一、属性系统1.属性基础属性和类成员数据相似,属性可以使用元对象系统,和类数据成员存储方式不同。主要差别在于存取方式不相同,比如属性值通常使用读取函数(即函数名通常以 get 开始的函数)和设置函数(即函数名通常以 set 开始的函数)来存取其值,除此种方法外,Qt 还有其他方式存取属性值。注:一个属性都有与之相关联的数据成员,而采用的命名规则通常是加上 m_前缀,比如属性名为 a,则与之相关联的数据成员名称通常为 m_a。2.属性值进行存取使用 QObject::property 和 QOb

2021-09-14 17:30:56 761

原创 Qemu-Spice流程初始化

Qemu-Spice初始化Qemu模块优先初始化相关全局设备对象PCI、ISA、IDE、I2C等;通过VDI接口将CoreInterface实例传入到libSpice中,通过libSpice中调用相关接口。设备对象初始化完毕,创建Server Socket,等待Socket连接,建立Main_Channel通道Qemu-Spice IO流程通过Qemu的add_interface接口将watch_add函数传入spice中,设置Socket的监听函数以及读写函数,通过WATCH_EVENT_READ

2021-09-14 17:09:33 574

原创 Qemu-spice云桌面创建

Spice是一个开放的远程计算解决方案,提供客户端访问远程显示和设备(如键盘、鼠标、音频)。主要的用例是获得对虚拟机的远程访问。官网:SpiceQemu-Spice框架Spice的基本构建模块:Spice Server: Spice Server是在libspice中实现的,libspice是一个VDI可插拔库。目前,这个库的主要用户是QEMU。 QEMU使用Spice -server通过Spice协议提供对虚拟机的远程访问。虚拟设备接口(Virtual Device Inte

2021-09-14 16:57:25 3393

原创 Qt元对象反射机制

一、元对象概念元对象功能:信号与槽、运行时类型信息、动态属性二、元对象实现条件1.该类必须继承自QObject类2.类的私有区域必须声明Q_OBJECT宏,该宏用于启动元对象特性,使用动态特性,信号和槽3.元对象编译器(moc)为每个QObject子类,提供了实现元对象特性必须的代码三、元对象系统运行原则1.moc编译器首先会去掉扩展语法当Qt程序启动了元对象属性时。2.moc编译器是一个类似于qmake的工具,用于读取分析C++文件,若发现类包含Q_OBJECT宏的声明,会生成另

2021-09-10 16:52:28 1129

原创 Windows下主线程等待子线程任务完成防止阻塞的方式

@线程同步方式用户模式:WaitForMultipleObject内核模式:MsgWaitForMultipleObjects用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。一般情况下,主线程创建子线程后(优先使用_beginthreadex),使用WaitForSingleObject(hThread, INFINITE);等待子

2021-08-23 14:35:20 1065

原创 二级指针使用注意事项

二维数组与二级指针的使用给,数组只能处理特定数量的数据,局限性较大。二级指针可以看作是一个数组,申请内存方式如下: char** disk = (char**)malloc(sizeof(char*)*5); for (size_t i = 0; i < 5; i++) { disk[i] = (char*)malloc(sizeof(char) * 260); memset(disk[i],0, 260); } int test(char** _str, int k) {

2021-08-18 15:36:18 119

原创 Mingw64编译跨平台程序时,_stat函数对于Windows中文路径不支持

通过Mingw64交叉编译Windows程序时,会经常为了适配使用到一些C库的函数,但是Windows平台相较于Linux平台对于C库的函数支持性有一定的差距!在做文件系统时,当获取文件、目录的详细信息时,会使用的stat函数,该函数再Linux环境下没有什么使用的问题,但是再Window环境下,对于 char*字符串中带的中文路径支持度不够,适配跨平台时,需要使用_wstat64宽字节函数对应!解决该问题! char u8str[] = u8"D://你好你好"; WCHAR uni_buf[MAX

2021-08-17 14:32:11 876

原创 Windows平台文件操作

Windows平台文件操作函数创建打开文件CreateFileHANDLE CreateFile( LPCTSTR,lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, L

2021-07-07 15:53:21 428

原创 Linux下Mingw32中编译安装Boost、libprotobuf-c

创建交叉编译环境时在Linux下安装Mingw32,使用Mingw32编译windows的应用程序,经常会使用到一些第三方的开源库,此时需要将开源库安装进mingw32中,以便在交叉编译时可以找到对应的头文件和库文件;在使用Boost库时,遇到的编译问题,由于网上大部分都是在windows上的mingw32中编译安装,跟Linux还是又许多差距的;在使用过程中也遇到了很多问题,在Stackoverflow上终于找到了对应的解决办法,现将记录如下:链接: 解决办法1. echo "using gcc

2021-06-18 14:24:34 517

精通网络视频核心开发技术清晰版.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

测试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

css样式的灰色格调的按钮布局

不错的灰色样式的按钮

2017-05-23

css九宫格菜单

九宫格式的炫酷菜单栏

2017-05-23

Editplus.rar

Editplus文本查看器

2017-05-22

修改注册表类.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

修改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

RTP发送(TCP UDP两种方式)

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

2017-08-05

SecureCRT_CN 串口工具

SecureCRT_CN

2017-08-05

Linux C C++入门

Linux C C++入门

2017-07-31

空空如也

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

TA关注的人

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