<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fhakfs的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fhakfs</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fhakfs]]></copyright><item><title><![CDATA[Qt 信号槽底层机制全景解析]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/159729914</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/159729914</guid><author>fhakfs</author><pubDate>Tue, 07 Apr 2026 11:52:09 +0800</pubDate><description><![CDATA[（构建路由表）和（执行路由）。以下是基于源码层面的详细流程。]]></description><category></category></item><item><title><![CDATA[windows下使用msvc（vs2022）编译webrtc（m133版本）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/156192751</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/156192751</guid><author>fhakfs</author><pubDate>Tue, 23 Dec 2025 12:00:41 +0800</pubDate><description><![CDATA[本文介绍了使用MSVC编译WebRTC m133版本的具体步骤：首先下载匹配的depot_tools工具包并配置环境变量；然后通过fetch命令获取WebRTC源码并检出m133分支；接着克隆MiroKaku的修复仓库，运行Patch.cmd自动修改源码；最后提供Debug和Release两种构建配置，使用gn生成项目文件后通过ninja进行编译。文中详细列出了GN构建参数设置，并指出可通过gn args命令查看完整可编辑参数列表。编译过程支持自定义构建选项，作者还提供了已编译好的版本供下载使用。]]></description><category></category></item><item><title><![CDATA[linux指定依赖库的依赖库的路径]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/149450303</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/149450303</guid><author>fhakfs</author><pubDate>Fri, 18 Jul 2025 17:44:17 +0800</pubDate><description><![CDATA[linux下cmake指定动态库路径后，直接链接的能在指定路径下查找，依赖库的依赖库则还是会在系统中查找，此时可以-Wl,--as-needed。avformat avcodec avutil swscale swresample  # 正常链接的库。]]></description><category></category></item><item><title><![CDATA[linux下qt工程打包方案]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/132606292</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/132606292</guid><author>fhakfs</author><pubDate>Thu, 31 Aug 2023 16:36:48 +0800</pubDate><description><![CDATA[将qt库一并打包后，安装在其他PC并运行，此时会存在如图1所示的问题，程 序依旧无法运行。此时可以看到详细的报错信息，可以看到加载libQt5XcbQpa库是系统自带的版 本，其依赖的qt库为高版本，而我们程序已经加载了我们编译时使用的5.9.6的 版本的QtCore库，所以导致加载xcb库时失败。进入platforms目录，使用readeld命令查看linqxcb.so发现运行时依赖库目 录为后退两级的lib文件夹（如图4），因为我们没有这个文件夹，所以其查找依 赖时找到了系统路径下的库。]]></description><category></category></item><item><title><![CDATA[Linux下svn常用命令]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/131472049</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/131472049</guid><author>fhakfs</author><pubDate>Fri, 30 Jun 2023 10:57:17 +0800</pubDate><description><![CDATA[merge -r 200:205 test.php（将版本200与205之间的差异合并到当前文件，但是一般都会产生冲突，需要处理一下）path  (显示文件和子目录状态)第一列保持相同，第二列显示工作版本号，第三和第四列显示最后一次修改的版本号和修改人。://192.168.1.1/pro/domain/test.php -m "delete test file"或者直接。update -r 200 test.php(将版本库中的文件test.php还原到版本200)A：预定加入到版本库；]]></description><category></category></item><item><title><![CDATA[Qt工程CMake使用及通用模板]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/129894224</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/129894224</guid><author>fhakfs</author><pubDate>Sat, 01 Apr 2023 11:01:46 +0800</pubDate><description><![CDATA[Qt工程CMake使用及通用模板]]></description><category></category></item><item><title><![CDATA[Qt文本框（QTextEdit）输入拖动输入图片和读取图片]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/129401955</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/129401955</guid><author>fhakfs</author><pubDate>Fri, 24 Mar 2023 20:06:19 +0800</pubDate><description><![CDATA[Qt文本框（QTextEdit）输入拖动输入图片和读取图片]]></description><category></category></item><item><title><![CDATA[qt注册单例至qml退出时崩溃（qmlRegisterSingletonType）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/128997178</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/128997178</guid><author>fhakfs</author><pubDate>Sun, 12 Feb 2023 17:29:18 +0800</pubDate><description><![CDATA[qt注册单例至qml退出时崩溃（qmlRegisterSingletonType）]]></description><category></category></item><item><title><![CDATA[qml程序纯净环境报错“QtQuick.Controls“ is not installed]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/128989988</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/128989988</guid><author>fhakfs</author><pubDate>Sat, 11 Feb 2023 22:32:17 +0800</pubDate><description><![CDATA[qml程序纯净环境报错"QtQuick.Controls" is not installed]]></description><category></category></item><item><title><![CDATA[Qt实现手势缩放和平移（QGestureEvent）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/128253896</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/128253896</guid><author>fhakfs</author><pubDate>Sun, 18 Dec 2022 13:47:48 +0800</pubDate><description><![CDATA[qt手势事件处理]]></description><category></category></item><item><title><![CDATA[基于vlc-Qt的视频播放器（支持添加视频列表、单曲循环等）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124755099</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124755099</guid><author>fhakfs</author><pubDate>Sat, 14 May 2022 16:35:36 +0800</pubDate><description><![CDATA[​
基于libvlc和Qt实现了一个视频播放器，可实现列表循环播放，单曲播放等，效果好于Qt自带的视频播放库。代码如下，也可在本人github中查看下载具体工程。github地址：https://github.com/qin11152

​]]></description><category></category></item><item><title><![CDATA[使用vlc库时无法收到鼠标键盘事件]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124769469</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124769469</guid><author>fhakfs</author><pubDate>Sat, 14 May 2022 16:02:35 +0800</pubDate><description><![CDATA[最近使用libvlc开发视频播放器时发现，视频一旦渲染到设定的widget上之后，捕获的鼠标移动和手势缩放事件失效了，添加打印信息后发现根本无法接受到相关事件。

    查阅资料发现是vlc吃掉了相关事件，但只需两行代码，关闭vlc对事件的过滤即可。代码如下：


libbvlc_video_set_mouse_input(m_ptrMediaPlayer, false);                        libvlc_video_set_key_input(m_ptrMediaPl...]]></description><category></category></item><item><title><![CDATA[c++程序只存在一个实例（exe）的方法]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124671994</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124671994</guid><author>fhakfs</author><pubDate>Mon, 09 May 2022 18:21:16 +0800</pubDate><description><![CDATA[最近项目开发过程中遇到了保证程序只有一个实例存在的需求，也就是只能存在一个exe。本人目前有两种实现的方法。

一、基于Qt的实现

基于Qt的实现是利用了Qt中的共享内存（QSharedMemory），第一个运行的exe创建一个共享内存，后续的程序如果能访问到此内存，就认为已有exe存在了。伪代码如下：


int main()
{
    //创建一个共享内存
    QSharedMemory sharedMemory;
    //设置共享内存的标识，这个标识是确定的
    sharedMemor]]></description><category></category></item><item><title><![CDATA[Qt加载大图片（图片较大无法正常加载，显示空白处理方法）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124500642</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124500642</guid><author>fhakfs</author><pubDate>Fri, 29 Apr 2022 17:24:50 +0800</pubDate><description><![CDATA[在项目中开发壁纸预览功能时，遇到一个100M的BMP图片无法加载的问题，查阅资料得知加载时较大的图片会因内存不足无法加载，显示一片空白，此时可通过分段读取的方法解决。

具体代码如下：


QImageReader imageReader(url);
            QImage _image = QImage(1920, 1080, QImage::Format_ARGB32);
            QSize imageSize = imageReader.size();
         ]]></description><category></category></item><item><title><![CDATA[设置QWidget为圆角矩形（同时设置背景图和圆角矩形）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124500368</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124500368</guid><author>fhakfs</author><pubDate>Fri, 29 Apr 2022 17:18:18 +0800</pubDate><description><![CDATA[在实际项目开发过程中有时需要设置QWidget中的背景图的同时还需要将其设置为圆角矩形样式。此时可以通过重绘事件完成两项工作。

1. 首先设置属性为无边框（即使不设置为无边框，运行后同样为无边框，目前尚未得知其原理）


setWindowFlags(Qt::FramelessWindowHint);

2. 重写重绘事件


void YourClass::paintEvent(QPaintEvent *event)
{

//绘制样式
QStyleOption opt;
opt.initFrom(th]]></description><category></category></item><item><title><![CDATA[基于C++11/14的线程池（可添加任意类型函数任务）]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124469976</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124469976</guid><author>fhakfs</author><pubDate>Thu, 28 Apr 2022 11:33:19 +0800</pubDate><description><![CDATA[基于cpp14完成的线程池

线程池线程数量在构造对象时可指定。

线程池中包含一个deque的任务队列。

可通过外部接口像队列中增加任务。

当有空闲线程时便会处理任务队列中的任务。

析构或结束时回收线程资源。



ThreadPool.h文件


#pragma once
#include &lt;deque&gt;
#include &lt;memory&gt;
#include &lt;mutex&gt;
#include &lt;functional&gt;
#include &lt;con]]></description><category></category></item><item><title><![CDATA[windows api设置窗口不在任务栏和窗口管理器（alt+tab）中显示]]></title><link>https://blog.youkuaiyun.com/fhakfs/article/details/124383825</link><guid>https://blog.youkuaiyun.com/fhakfs/article/details/124383825</guid><author>fhakfs</author><pubDate>Sun, 24 Apr 2022 15:24:22 +0800</pubDate><description><![CDATA[windows api设置窗口不在任务栏和窗口管理器（alt+tab）中显示]]></description><category></category></item></channel></rss>