<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZLOZL的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZLOZL</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZLOZL]]></copyright><item><title><![CDATA[Windows+VS2019编译支持https的libcurl]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/127362659</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/127362659</guid><author>ZLOZL</author><pubDate>Mon, 17 Oct 2022 14:21:34 +0800</pubDate><description><![CDATA[Windows+VS2019编译支持https的libcurl]]></description><category></category></item><item><title><![CDATA[Qt事件系统]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/120930772</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/120930772</guid><author>ZLOZL</author><pubDate>Sun, 24 Oct 2021 10:36:12 +0800</pubDate><description><![CDATA[Qt事件系统

在 Qt 里，一个事件就是一个对象，所有事件的祖先都来自于 QEvent 只要有一个事件发生（如鼠标单击事件），此时就会有一个 QEvent 对象被创建出来，然后开始各种传送。由于 Qt 事件系统是依托于元对象系统的，所以所有的 QObject 类都可以接收/处理 QEvent 事件。
Event的来源：
Some events, such as QMouseEvent and QKeyEvent, come from the window system;
一些事件，如QMouseEvent]]></description><category></category></item><item><title><![CDATA[Qt的编程风格与规范]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/120475555</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/120475555</guid><author>ZLOZL</author><pubDate>Sat, 25 Sep 2021 19:11:41 +0800</pubDate><description><![CDATA[Qt的编程风格与规范
之前整理过一篇cpp的代码风格，只要参考谷歌Style，现在整理一下Qter代码风格
C++命名规范(v1.0)_ZLOZL的博客-优快云博客
参考资料


https://wiki.qt.io/Qt_Contribution_Guidelines


https://wiki.qt.io/Qt_Coding_Style


https://wiki.qt.io/Coding_Conventions


https://community.kde.org/Policies/Libra]]></description><category></category></item><item><title><![CDATA[基于QMainWindow 实现的效果很好的 Qt 无边框窗口]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/119936939</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/119936939</guid><author>ZLOZL</author><pubDate>Thu, 26 Aug 2021 17:45:29 +0800</pubDate><description><![CDATA[Qt实现自定义窗口
​		基于 QMainWindow 实现的效果很好的 Qt 无边框窗口,支持 Windows 和 OS X 系统。在 Windows 上，支持窗口阴影、Aero 效果等；在 OS X 上，支持原生窗口样式，比如窗口圆角、窗口阴影、三个系统按钮(关闭、最小化、最大化）等。
window效果

OSX
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fmi8s2C4-1629970950506)(https://gitee.com/zlozl5566/drawi]]></description><category></category></item><item><title><![CDATA[Qt 实现Https ssl认证]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/119275332</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/119275332</guid><author>ZLOZL</author><pubDate>Sat, 31 Jul 2021 14:30:18 +0800</pubDate><description><![CDATA[Qt 实现Https ssl认证
安装OpenSSL
/index.html (openssl.org)
先了解一下认证原理
HTTPS单向认证
客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息;
服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息，同时也返回服务器端的证书，即公钥证书;
客户端使用服务端返回的信息验证服务器的合法性，包括：

证书是否过期;
发行服务器证书的CA是否可靠;(通过查询浏览器或本机内的CA证书)
返回的公钥是否能正确解开返回证书中的数字签名;（通过使用]]></description><category></category></item><item><title><![CDATA[从CEF3官方Demo源码分析并实现第一个Qt版的SimpleCef]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/118943614</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/118943614</guid><author>ZLOZL</author><pubDate>Tue, 20 Jul 2021 20:25:01 +0800</pubDate><description><![CDATA[从CEF3官方Demo源码分析并实现第一个Qt版的SimpleCef
首先需要知道几个重要的概念

进程(Processes)

CEF3是多进程架构的。Browser被定义为主进程，负责窗口管理，界面绘制和网络交互。Blink的渲染和Js的执行被放在一个独立的Render 进程中；除此之外，Render进程还负责Js Binding和对Dom节点的访问。 默认的进程模型中，会为每个标签页创建一个新的Render进程。其他进程按需创建，例如管理插件的进程以及处理合成加速的进程等都是按需创建。
默认情况下，主]]></description><category></category></item><item><title><![CDATA[Qt嵌入浏览器开发——下载编译]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/118929460</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/118929460</guid><author>ZLOZL</author><pubDate>Tue, 20 Jul 2021 12:08:01 +0800</pubDate><description><![CDATA[首先明确一下动机：为什么要用Qt自己实现一个浏览器？
简而言之，就是希望实现一个介于B/S和C/S之间的混合架构，以适应一些前端展示信息需要频繁更新的生产系统。这种混合架构的优势在于：
相较于C/S架构，对于需要频繁更新的展示部分，只需要在服务端更新相应的前端文件即可，不需要更新所有的终端软件——这同时也是B/S架构的优势；
而传统的B/S架构使用市面上现有的浏览器，无法满足很多生产系统对稳定性的要求；此外，市面上现有的浏览器难以对所在终端的底层系统进行控制；
利用Qt的跨平台特性，可以比较容易地实现对不同]]></description><category></category></item><item><title><![CDATA[c++智能指针]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117743137</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117743137</guid><author>ZLOZL</author><pubDate>Wed, 09 Jun 2021 15:00:01 +0800</pubDate><description><![CDATA[c++智能指针

shared_ptr
unique_ptr
weak_ptr
auto_ptr（被 C++11 弃用）


Class shared_ptr 实现共享式拥有（shared ownership）概念。多个智能指针指向相同对象，该对象和其相关资源会在 “最后一个 reference 被销毁” 时被释放。为了在结构较复杂的情景中执行上述工作，标准库提供 weak_ptr、bad_weak_ptr 和 enable_shared_from_this 等辅助类。
Class unique_ptr 实]]></description><category></category></item><item><title><![CDATA[c++关键字——static]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117742795</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117742795</guid><author>ZLOZL</author><pubDate>Wed, 09 Jun 2021 14:53:55 +0800</pubDate><description><![CDATA[c++关键字——static
作用

修饰普通变量，修改变量的存储区域和生命周期，使变量存储在静态区，在 main 函数运行前就分配了空间，如果有初始值就用初始值初始化它，如果没有初始值系统用默认值初始化它。
修饰普通函数，表明函数的作用范围，仅在定义该函数的文件内才能使用。在多人开发项目时，为了防止与他人命名空间里的函数重名，可以将函数定位为 static。
修饰成员变量，修饰成员变量使所有的对象只保存一个该变量，而且不需要生成对象就可以访问该成员。
修饰成员函数，修饰成员函数使得不需要生成对象就可以访问]]></description><category></category></item><item><title><![CDATA[Qt常用轮子合集(带使用Demo)]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117705690</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117705690</guid><author>ZLOZL</author><pubDate>Tue, 08 Jun 2021 16:01:11 +0800</pubDate><description><![CDATA[公用轮子/API

主要存放全局变量，配置变量，一些公用方法代码 还有自定义日志，以及重定向输出Qt编译器信息到本地文件。
日志库
建以使用mvlog库就ok，跨平台通用库，简单的单例模式，同时可以重定向输出Qt编译器信息（文件名称，函数名称，代码行数等一些信息）。日志有 Debug、Warning、Critiacal、Fatal、Info等。
/* 如何需要定向输出编译器日志，下面段代码放到mian函数中去
  * @brief 定向输出编译器调试信息
  * 请在main函数中加入下面判断条件是否定向输]]></description><category></category></item><item><title><![CDATA[Ubuntu18.04实现Aarch64和arm32的交叉编译全步骤(Qt5.12.10源码编译)]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117702955</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117702955</guid><author>ZLOZL</author><pubDate>Tue, 08 Jun 2021 14:59:52 +0800</pubDate><description><![CDATA[Ubuntu18.04实现Aarch64和arm32的交叉编译全步骤
本文所使用的文件下载：
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uwm73GNy-1623135507858)(http://www.zlozl5566.ltd/image-20210607184436692.png)]
百度网盘：
链接：https://pan.baidu.com/s/1mnpFepFY-rOlwWd3QbYZiw
提取码：5566
下载交叉编译链接工具
[外链图片转存失败,源站可能]]></description><category></category></item><item><title><![CDATA[C++/Qt 使用OpenCV打开摄像头，旋转视频，计算fps]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117626581</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117626581</guid><author>ZLOZL</author><pubDate>Sun, 06 Jun 2021 14:22:24 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[QSoundEffect独立声音播放线程 movetothread方式]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117625579</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117625579</guid><author>ZLOZL</author><pubDate>Sun, 06 Jun 2021 13:43:22 +0800</pubDate><description><![CDATA[QSoundEffect独立声音播放线程 movetothread方式
​	话不多说，先上代码：

audiothread.h

#ifndef DLTHREAD_H
#define DLTHREAD_H

/**********************************************************************
 *@projectName    MVRecoTL
 *@brief          QSoundEffect独立声音播放线程 movetothread方式]]></description><category></category></item><item><title><![CDATA[C++全局异常捕获和分析.dmp文件]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/117607946</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/117607946</guid><author>ZLOZL</author><pubDate>Sat, 05 Jun 2021 23:51:00 +0800</pubDate><description><![CDATA[C++全局异常捕获和分析.dmp文件
​	在c++的程序运行过程中，有时需要分析异常产生的原因，所以首先需要捕获异常，生成crash文件（.dmp）之后，再用相关的调试工具去分析。
如何捕获异常，生成文件保存到本地？
先上代码:
#ifndef CRASH_EXCEPTION_H
#define CRASH_EXCEPTION_H

/**********************************************************************
 *@projectName  ]]></description><category></category></item><item><title><![CDATA[Linux 常用命令参考手册, 非常适合入门, 基本能满足工作日常使用。]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/114769268</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/114769268</guid><author>ZLOZL</author><pubDate>Sun, 14 Mar 2021 00:09:16 +0800</pubDate><description><![CDATA[Linux Manual
  
    
    
    
      
    
  


Linux 常用命令参考手册, 非常适合入门, 基本能满足工作日常使用。
截止目前，含有 65+ 命令。
注：这里只列出常用命令, 如果想要更系统的可能需要翻阅官方手册。

目录

文件管理

head | tail | ls | pwd | wc | find | mkdir | chattr | more | paste | stat
touch | cd | rm | rmdir | cp...]]></description><category></category></item><item><title><![CDATA[OpenCV常用方法]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/114768685</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/114768685</guid><author>ZLOZL</author><pubDate>Sat, 13 Mar 2021 23:49:33 +0800</pubDate><description><![CDATA[OpenCV常用方法
CVPublic.h
#ifndef CVPUBLIC_H
#define CVPUBLIC_H

/**********************************************************************
 *@projectName    Opencv Public
 *@brief          摘要
 * 1.Qt使用OpenCV 图像处理一些常用方法
 *Author:         zlozl
 *Copyright:      z]]></description><category></category></item><item><title><![CDATA[开发经验总结]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/114768366</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/114768366</guid><author>ZLOZL</author><pubDate>Sat, 13 Mar 2021 23:40:02 +0800</pubDate><description><![CDATA[一、开发经验总结


当编译发现大量错误的时候，从第一个看起，一个一个的解决，不要急着去看下一个错误，往往后面的错误都是由于前面的错误引起的，第一个解决后很可能都解决了。


定时器是个好东西，学会好使用它，有时候用QTimer::singleShot可以解决意想不到的问题。


打开creator，在构建套件的环境中增加MAKEFLAGS=-j8，可以不用每次设置多线程编译。珍爱时间和生命。新版的QtCreator已经默认就是j8。


如果你想顺利用QtCreator部署安卓程序，首先你要在Androi]]></description><category></category></item><item><title><![CDATA[RK3399升级固件教程Firendly(友善之臂)+Firefly(萤火虫) (付上百度云下载)]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/114767822</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/114767822</guid><author>ZLOZL</author><pubDate>Sat, 13 Mar 2021 23:29:31 +0800</pubDate><description><![CDATA[FirendlyRK3399升级固件
驱动安装


开始升级
打开安卓烧录工具

按按住板子RECOVER键，别松，再按住电源按键后2秒 松开
此时会发现一个Loader设备。

点击 切换 后 擦除Flash

点击 固件 选择 MiniLoaderAll.bin

点击 执行，等待下载完成。


升级失败
万一中途遭遇特殊情况导致升级失败，还请重新烧回安卓固件，继续重新开始升级成Linux系统
百度云链接
链接：https://pan.baidu.com/s/1gze5cCtlAnn5QnT3_Cijb]]></description><category></category></item><item><title><![CDATA[RK3399开发板环境部署——samba]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/114730823</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/114730823</guid><author>ZLOZL</author><pubDate>Sat, 13 Mar 2021 10:04:41 +0800</pubDate><description><![CDATA[RK3399开发板环境部署
修改软件源
默认Ubuntu源
deb http://ports.ubuntu.com/ xenial main multiverse restricted universe
deb http://ports.ubuntu.com/ xenial-backports main multiverse restricted universe
deb http://ports.ubuntu.com/ xenial-proposed main multiverse restricted ]]></description><category></category></item><item><title><![CDATA[Qt 一些常用Public方法]]></title><link>https://blog.youkuaiyun.com/ZLOZL/article/details/109556658</link><guid>https://blog.youkuaiyun.com/ZLOZL/article/details/109556658</guid><author>ZLOZL</author><pubDate>Sun, 08 Nov 2020 10:45:09 +0800</pubDate><description><![CDATA[Qt 一些常用Public方法
目前只要收集整理了，如下一些方法，后续日常工作和学习中遇到新的也会更新补上，所以麻烦点个关注⭐️
 * 1.存放一些常用且公用的方法,定义成静态的方便使用
 * 2.获取桌面宽，高，屏幕数量，当前屏序号
 * 3.获取当前程序文件名称，所在路径
 * 4.获取随机因子，以及生成32和36位的UUID
 * 5.设置开启自启，系统时间，程序字符编码
 * 6.判断和获取本机IP和Mac地址
 * 7.一些进制，以及数据类型的之间的转化
 * 8.一些关于文件的操作，读，写，删等]]></description><category></category></item></channel></rss>