- 博客(32)
- 资源 (10)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Qt常用轮子合集(带使用Demo)
公用轮子/API主要存放全局变量,配置变量,一些公用方法代码 还有自定义日志,以及重定向输出Qt编译器信息到本地文件。日志库建以使用mvlog库就ok,跨平台通用库,简单的单例模式,同时可以重定向输出Qt编译器信息(文件名称,函数名称,代码行数等一些信息)。日志有 Debug、Warning、Critiacal、Fatal、Info等。/* 如何需要定向输出编译器日志,下面段代码放到mian函数中去 * @brief 定向输出编译器调试信息 * 请在main函数中加入下面判断条件是否定向输
2021-06-08 16:01:11
980
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Ubuntu18.04实现Aarch64和arm32的交叉编译全步骤(Qt5.12.10源码编译)
Ubuntu18.04实现Aarch64和arm32的交叉编译全步骤本文所使用的文件下载:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uwm73GNy-1623135507858)(http://www.zlozl5566.ltd/image-20210607184436692.png)]百度网盘:链接:https://pan.baidu.com/s/1mnpFepFY-rOlwWd3QbYZiw提取码:5566下载交叉编译链接工具[外链图片转存失败,源站可能
2021-06-08 14:59:52
9348
18
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Ubuntu 18.04 下Qt5开发环境搭建(安装,配置,美化,卸载)
Ubuntu 18.04 下Qt5开发环境搭建(安装,配置,美化,卸载)我本人用的Ubuntu是18.04的,安装的Qt是5.14.1下载你要安装的Qt版本官网下载地址:http://download.qt.io/archive/qt/或者百度网盘下载地址:链接:https://pan.baidu.com/s/1MazRtGOkj8FNdR_x-sclQA提取码:ypb1修改运行软件权限chmod 755 qt-opensource-linux-x64-5.14.1.run开始安装软件
2020-09-20 13:12:12
4290
转载 Qt事件系统
Qt事件系统在 Qt 里,一个事件就是一个对象,所有事件的祖先都来自于 QEvent 只要有一个事件发生(如鼠标单击事件),此时就会有一个 QEvent 对象被创建出来,然后开始各种传送。由于 Qt 事件系统是依托于元对象系统的,所以所有的 QObject 类都可以接收/处理 QEvent 事件。Event的来源:Some events, such as QMouseEvent and QKeyEvent, come from the window system;一些事件,如QMouseEvent
2021-10-24 10:36:12
835
原创 Qt的编程风格与规范
Qt的编程风格与规范之前整理过一篇cpp的代码风格,只要参考谷歌Style,现在整理一下Qter代码风格C++命名规范(v1.0)_ZLOZL的博客-CSDN博客参考资料https://wiki.qt.io/Qt_Contribution_Guidelineshttps://wiki.qt.io/Qt_Coding_Stylehttps://wiki.qt.io/Coding_Conventionshttps://community.kde.org/Policies/Libra
2021-09-25 19:11:41
647
翻译 基于QMainWindow 实现的效果很好的 Qt 无边框窗口
Qt实现自定义窗口 基于 QMainWindow 实现的效果很好的 Qt 无边框窗口,支持 Windows 和 OS X 系统。在 Windows 上,支持窗口阴影、Aero 效果等;在 OS X 上,支持原生窗口样式,比如窗口圆角、窗口阴影、三个系统按钮(关闭、最小化、最大化)等。window效果OSX[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fmi8s2C4-1629970950506)(https://gitee.com/zlozl5566/drawi
2021-08-26 17:45:29
5274
10
原创 Qt 实现Https ssl认证
Qt 实现Https ssl认证安装OpenSSL/index.html (openssl.org)先了解一下认证原理HTTPS单向认证客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息;服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器端的证书,即公钥证书;客户端使用服务端返回的信息验证服务器的合法性,包括:证书是否过期;发行服务器证书的CA是否可靠;(通过查询浏览器或本机内的CA证书)返回的公钥是否能正确解开返回证书中的数字签名;(通过使用
2021-07-31 14:30:18
3423
1
原创 从CEF3官方Demo源码分析并实现第一个Qt版的SimpleCef
从CEF3官方Demo源码分析并实现第一个Qt版的SimpleCef首先需要知道几个重要的概念进程(Processes)CEF3是多进程架构的。Browser被定义为主进程,负责窗口管理,界面绘制和网络交互。Blink的渲染和Js的执行被放在一个独立的Render 进程中;除此之外,Render进程还负责Js Binding和对Dom节点的访问。 默认的进程模型中,会为每个标签页创建一个新的Render进程。其他进程按需创建,例如管理插件的进程以及处理合成加速的进程等都是按需创建。默认情况下,主
2021-07-20 20:25:01
1320
原创 Qt嵌入浏览器开发——下载编译
首先明确一下动机:为什么要用Qt自己实现一个浏览器?简而言之,就是希望实现一个介于B/S和C/S之间的混合架构,以适应一些前端展示信息需要频繁更新的生产系统。这种混合架构的优势在于:相较于C/S架构,对于需要频繁更新的展示部分,只需要在服务端更新相应的前端文件即可,不需要更新所有的终端软件——这同时也是B/S架构的优势;而传统的B/S架构使用市面上现有的浏览器,无法满足很多生产系统对稳定性的要求;此外,市面上现有的浏览器难以对所在终端的底层系统进行控制;利用Qt的跨平台特性,可以比较容易地实现对不同
2021-07-20 12:08:01
2144
原创 c++智能指针
c++智能指针shared_ptrunique_ptrweak_ptrauto_ptr(被 C++11 弃用)Class shared_ptr 实现共享式拥有(shared ownership)概念。多个智能指针指向相同对象,该对象和其相关资源会在 “最后一个 reference 被销毁” 时被释放。为了在结构较复杂的情景中执行上述工作,标准库提供 weak_ptr、bad_weak_ptr 和 enable_shared_from_this 等辅助类。Class unique_ptr 实
2021-06-09 15:00:01
137
1
转载 c++关键字——static
c++关键字——static作用修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在 main 函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值初始化它。修饰普通函数,表明函数的作用范围,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名空间里的函数重名,可以将函数定位为 static。修饰成员变量,修饰成员变量使所有的对象只保存一个该变量,而且不需要生成对象就可以访问该成员。修饰成员函数,修饰成员函数使得不需要生成对象就可以访问
2021-06-09 14:53:55
140
原创 C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps
C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps设置摄像头参数 不要随意修改,同时也不一样会修改成功,需要根据实际摄像头的参数选择设置 /*设置摄像头参数 不要随意修改 capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度 capture.set(CV_CAP_PROP_FPS, 30);//帧数 capture.s
2021-06-06 14:22:24
1909
1
原创 QSoundEffect独立声音播放线程 movetothread方式
QSoundEffect独立声音播放线程 movetothread方式 话不多说,先上代码:audiothread.h#ifndef DLTHREAD_H#define DLTHREAD_H/********************************************************************** *@projectName MVRecoTL *@brief QSoundEffect独立声音播放线程 movetothread方式
2021-06-06 13:43:22
992
2
原创 C++全局异常捕获和分析.dmp文件
C++全局异常捕获和分析.dmp文件 在c++的程序运行过程中,有时需要分析异常产生的原因,所以首先需要捕获异常,生成crash文件(.dmp)之后,再用相关的调试工具去分析。如何捕获异常,生成文件保存到本地?先上代码:#ifndef CRASH_EXCEPTION_H#define CRASH_EXCEPTION_H/********************************************************************** *@projectName
2021-06-05 23:51:00
1551
3
转载 Linux 常用命令参考手册, 非常适合入门, 基本能满足工作日常使用。
Linux Manual Linux 常用命令参考手册, 非常适合入门, 基本能满足工作日常使用。截止目前,含有 65+ 命令。注:这里只列出常用命令, 如果想要更系统的可能需要翻阅官方手册。目录文件管理head | tail | ls | pwd | wc | find | mkdir | chattr | more | paste | stattouch | cd | rm | rmdir | cp...
2021-03-14 00:09:16
196
原创 OpenCV常用方法
OpenCV常用方法CVPublic.h#ifndef CVPUBLIC_H#define CVPUBLIC_H/********************************************************************** *@projectName Opencv Public *@brief 摘要 * 1.Qt使用OpenCV 图像处理一些常用方法 *Author: zlozl *Copyright: z
2021-03-13 23:49:33
574
转载 开发经验总结
一、开发经验总结当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。定时器是个好东西,学会好使用它,有时候用QTimer::singleShot可以解决意想不到的问题。打开creator,在构建套件的环境中增加MAKEFLAGS=-j8,可以不用每次设置多线程编译。珍爱时间和生命。新版的QtCreator已经默认就是j8。如果你想顺利用QtCreator部署安卓程序,首先你要在Androi
2021-03-13 23:40:02
486
原创 RK3399升级固件教程Firendly(友善之臂)+Firefly(萤火虫) (付上百度云下载)
FirendlyRK3399升级固件驱动安装开始升级打开安卓烧录工具按按住板子RECOVER键,别松,再按住电源按键后2秒 松开此时会发现一个Loader设备。点击 切换 后 擦除Flash点击 固件 选择 MiniLoaderAll.bin点击 执行,等待下载完成。升级失败万一中途遭遇特殊情况导致升级失败,还请重新烧回安卓固件,继续重新开始升级成Linux系统百度云链接链接:https://pan.baidu.com/s/1gze5cCtlAnn5QnT3_Cijb
2021-03-13 23:29:31
4611
原创 RK3399开发板环境部署——samba
RK3399开发板环境部署修改软件源默认Ubuntu源deb http://ports.ubuntu.com/ xenial main multiverse restricted universedeb http://ports.ubuntu.com/ xenial-backports main multiverse restricted universedeb http://ports.ubuntu.com/ xenial-proposed main multiverse restricted
2021-03-13 10:04:41
438
原创 Qt 一些常用Public方法
Qt 一些常用Public方法目前只要收集整理了,如下一些方法,后续日常工作和学习中遇到新的也会更新补上,所以麻烦点个关注⭐️ * 1.存放一些常用且公用的方法,定义成静态的方便使用 * 2.获取桌面宽,高,屏幕数量,当前屏序号 * 3.获取当前程序文件名称,所在路径 * 4.获取随机因子,以及生成32和36位的UUID * 5.设置开启自启,系统时间,程序字符编码 * 6.判断和获取本机IP和Mac地址 * 7.一些进制,以及数据类型的之间的转化 * 8.一些关于文件的操作,读,写,删等
2020-11-08 10:45:09
1695
原创 Qt 文件管理 文件夹以及子文件夹遍历,读写文件,获取所有文件的文件信息
遍历某个路径下所有文件夹,以及子文件夹 /* * @brief * 遍历某个路径下所有文件夹,以及子文件夹,找到目标文件,写入到filedata中 * * @param * imode 0: 只会遍历子当前件夹 (默认) 1:会遍历所有的子文件夹 * @return bool */bool findPathLoadFile(const QString &path, const QString &name, QByteArray *filedata,
2020-10-24 14:53:16
2339
原创 Qt WebSocket通讯封装(带测试用例)
Qt WebSocket通讯封装(带测试用例)WebSocketClientclass WebSocketClientManager : public QObject{ Q_OBJECTpublic: explicit WebSocketClientManager(QObject *parent = nullptr); ~WebSocketClientManager(); public: bool running() const; QString ur
2020-10-24 13:29:46
931
原创 一位社畜的自嘲——打工人
一位社畜的自嘲——打工人如今,越来越多的人把工作作为一种(社畜)自嘲,一起就听过“打工是不可能的,这辈子的不可能打工”,这样的精神语录。哈哈,这段时间又开始流行起,“打工人”的梗,那就先来看看“打工人的语录吧”1.只要你足够努力,就老板的股价就会越来越高2.打工赚不了几个钱,但多打几份工可以让你没时间花钱3.不打工没钱,打工也没钱,只不过打工一时饿不死而已,不打工很快就饿死。4.世上有两种最耀眼的光芒,一种是太阳,一种是打工人努力的模样!5.只要你够努力,老板很快就能过上他想要的生活!该起床搬砖
2020-10-24 11:24:04
1538
原创 Qt TCP/UDP通讯封装
Qt TCP/UDP通讯封装TCP客户端class TcpClient :public QTcpSocket{ Q_OBJECTpublic: explicit TcpClient(QObject *parent = nullptr); ~TcpClient(); static TcpClient *Instance();private: static QScopedPointer<TcpClient> self; QTcpSocket
2020-10-24 10:28:36
1627
3
原创 C++关键字——const一些用法(代码举例)
C++关键字——const作用修饰变量,说明该变量不可以被改变;修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer);修饰引用,指向常量的引用(reference to const),用于形参类型,即避免了拷贝,又避免了函数对值的修改;修饰成员函数,说明该成员函数内不能修改成员变量。const 的指针与引用指针指向常量的指针(pointer to const)自身是常量的指针(常量指针,const pointer
2020-09-20 17:24:03
263
原创 C++设计模式——单例模式(Qt单例写日志模块)
C++设计模式——单例模式(Qt单例写日志模块)作用:保证一个类只有一个实例,并提供一个访问它的全局访问点,使得系统中只有唯一的一个对象实例。应用:常用于管理资源,如日志、线程池实现要点:在类中,要构造一个实例,就必须调用类的构造函数,并且为了保证全局只有一个实例,需防止在外部调用类的构造函数而构造实例,需要将构造函数的访问权限标记为private,同时阻止拷贝创建对象时赋值时拷贝对象,因此也将它们声明并权限标记为private;另外,需要提供一个全局访问点,就需要在类中定义一个static函
2020-09-20 17:08:33
635
原创 Qt 多线程操作数据库--数据库连接池
Qt 数据库连接池参考博客https://qtdebug.com/qtbook-db-connection-pool/ * 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接被复用,不是每次都重新创建一个新的连接(连接的创建是一个很消耗资源的过程) * 连接断开了后会自动重连 * 当无可用连接
2020-09-07 20:55:04
1619
原创 C++命名规范(v1.0)
C++命名规范规范参考Google 开源项目风格指南 (中文版)https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/naming/#id3个人博客:weixin_33991418 https://blog.csdn.net/weixin_33991418/article/details/93774217水亦心 https://blog.csdn.net/s
2020-09-07 11:26:35
382
2
原创 Ubuntu18.04下安装搜狗输入法(详细教程)
Ubuntu18.04下安装搜狗输入法首先安装fcitx输入框架sudo apt install fcitx官网下载搜狗输入法linux版https://pinyin.sogou.com/linux/?r=pinyin下载完后,直接双击运行deb包或者用命令安装千万记住安装完后要重启建议不要把搜狗输入法移动到第一位,不然按shift切换中英文时,有时输入板会出现乱码(虽然多按两下shift可以切换回正常,但是太麻烦了)然后不要把搜狗输入法设置为第一位,否则会出现中文乱码补充一下:
2020-08-22 23:08:45
2874
1
原创 Ubuntu介绍安装美化
介绍Ubuntu完全教程,让你成为Ubuntu高手!https://blog.csdn.net/qq_19998189/article/details/78566486安装教程下载ubuntu18.04 LTS官网下载地址:http://releases.ubuntu.com/18.04/ubuntu-18.04.5-desktop-amd64.iso百度云地址:安装虚拟机vmware下安装VMware Workstation Pro 15.5.6下载地址:https://www.
2020-08-16 13:52:17
306
原创 第一篇博客
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-08-16 00:23:22
110
FramelessWindowTest2.7z
2021-08-26
cef3.3239&&3.2623 .7z 支持mp3、mp4、h264的 X86 X64的库
2021-07-20
QQSoundEffect_test.zip
2021-06-06
Qt WebSocket通讯封装示例
2020-10-24
Qt TCP/UDP通讯封装示例
2020-10-24
Qt线程安全单例模式写日志模式
2020-09-20
Qt 多线程连接数据库——数据库连接池
2020-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人