<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[公众号：张小飞那些事儿]]></title><description><![CDATA[WPS开发]]></description><link>https://blog.csdn.net/u010370871</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; u010370871]]></copyright><item><title><![CDATA[vim打开大文件]]></title><link>https://blog.csdn.net/u010370871/article/details/131121199</link><guid>https://blog.csdn.net/u010370871/article/details/131121199</guid><author>u010370871</author><pubDate>Fri, 09 Jun 2023 09:50:31 +0800</pubDate><description><![CDATA[如何打开大文件不卡。]]></description><category></category></item><item><title><![CDATA[Linux下使用WPS做office的二次开发]]></title><link>https://blog.csdn.net/u010370871/article/details/127270036</link><guid>https://blog.csdn.net/u010370871/article/details/127270036</guid><author>u010370871</author><pubDate>Tue, 11 Oct 2022 19:35:49 +0800</pubDate><description><![CDATA[上个版本WPS在Linux上就已经支持二次开发了，可以直接去看官网相关的介绍。我们选择WPS的客户端进行二次开发。]]></description><category></category></item><item><title><![CDATA[Qt在Linux下实现无边框可缩放的窗口]]></title><link>https://blog.csdn.net/u010370871/article/details/127242903</link><guid>https://blog.csdn.net/u010370871/article/details/127242903</guid><author>u010370871</author><pubDate>Mon, 10 Oct 2022 13:35:02 +0800</pubDate><description><![CDATA[在Linux平台上做desktop应用的还是非常少的。所以基本上网上这部分资料是没有的。Linux平台又不像Win那么多API。这次的实现，本来自己想写xlib的函数的，然后机智的我从deepin的代码里把他们封装好的抠出来了，然后补充了一些x11的封装函数。来完成最终的效果。本篇文章纯粹抛砖引玉，毕竟只是个demo。简单的说一下遇到的坑。]]></description><category></category></item><item><title><![CDATA[小谈一下Qt的绘制引擎（结尾有彩蛋）]]></title><link>https://blog.csdn.net/u010370871/article/details/121062443</link><guid>https://blog.csdn.net/u010370871/article/details/121062443</guid><author>u010370871</author><pubDate>Sun, 31 Oct 2021 12:36:18 +0800</pubDate><description><![CDATA[公众号：张小飞那些事儿

小谈一下Qt的绘制引擎（结尾有彩蛋）
序
这一篇算是我给部门分享的一篇业务基础吧。以及说一下自己对Qt绘制引擎的理解以及及时的复盘。
先谈一个疑问？如何设计一个优秀的绘制引擎。
注意下这里，我说的是绘制引擎，而不是光栅化引擎。这有本质的区别。
绘制引擎是我们开发者用的一些常见的接口。光栅化引擎我认为是绘制引擎一部分的实现，所以这里只讲外层的东西。逃）
个人认为，Qt是把C++ OOP的特性用到滚瓜烂熟的框架-封装，继承，多态。
废话不多说，先举个栗子吧。
举个????
假如要画一条]]></description><category></category></item><item><title><![CDATA[Qt那些事儿-序]]></title><link>https://blog.csdn.net/u010370871/article/details/113696690</link><guid>https://blog.csdn.net/u010370871/article/details/113696690</guid><author>u010370871</author><pubDate>Fri, 05 Feb 2021 15:15:11 +0800</pubDate><description><![CDATA[公众号：张小飞那些事儿

前言
终于开篇了呢！
先写个前言吧。
一些经历
还是简单介绍下自己
我叫张小飞，目前在金山负责WPS For Linux的研发。
先说下自己的经历吧。刚毕业的我去了方正，当时维护一个桌面端阅读器的开发。名称是Apabi Reader  是个PDF+私有格式(CEBX)的阅读器
这个东西我维护了半年。现在回想起来。这个东西还是很有意思的。
Apabi Reader
凭印象说吧。先说GUI框架吧。当时这个软件的GUI框架是自己封装的。但是给我的感觉就是一个MFC+Win32API+GT]]></description><category></category></item><item><title><![CDATA[感谢Qt官方赠送的礼品]]></title><link>https://blog.csdn.net/u010370871/article/details/112910103</link><guid>https://blog.csdn.net/u010370871/article/details/112910103</guid><author>u010370871</author><pubDate>Wed, 20 Jan 2021 20:31:00 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[Ubuntu18配置wordpress服务器 (nginx + wordpress + mariadb)]]></title><link>https://blog.csdn.net/u010370871/article/details/112759670</link><guid>https://blog.csdn.net/u010370871/article/details/112759670</guid><author>u010370871</author><pubDate>Sun, 17 Jan 2021 23:02:49 +0800</pubDate><description><![CDATA[公众号：张小飞那些事儿

Ubuntu18配置wordpress服务器 (nginx + wordpress + mariadb)
三年前买的腾讯云的学生机马上过期，所以趁着这个机会赶紧玩玩，搜了下大家都是用apache来起的服务。（我原来也是）
nginx又比较轻量，所以趁着这个机会把服务器清了，重新用nginx又重新配置了下wordpress。特意来记录(水)下。
Ubuntu18默认源php版本就是7.2
安装软件

nginx
mariadb
php

Ubuntu18默认源php版本就是7.2
s]]></description><category></category></item><item><title><![CDATA[Linux打印命令lp详解]]></title><link>https://blog.csdn.net/u010370871/article/details/111599017</link><guid>https://blog.csdn.net/u010370871/article/details/111599017</guid><author>u010370871</author><pubDate>Wed, 23 Dec 2020 20:55:54 +0800</pubDate><description><![CDATA[lp
在类Unix系统上(一般为Linux跟Mac平台)，使用lp命令来打印文件。
lp命令在Linux跟Mac平台，使用的是cups服务(没有其它的)，来支持打印。
CUPS
可以参考这篇文章
lp通常支持两种文件格式的打印

PS
PDF

PS

PostScript是一种编程语言，最适用于列印图像和文字（无论是在纸、胶片或非物质的CRT都可）。用现今的行话讲，它是页面描述语言。它既可以像程序代码一样具有可读性，又能表示出可任意放大和缩小的矢量图。

PDF

PDF（Portable Documen]]></description><category></category></item><item><title><![CDATA[Qt源码那些事儿-Linux下Qt的QFontDataBase字体引擎解析]]></title><link>https://blog.csdn.net/u010370871/article/details/109536672</link><guid>https://blog.csdn.net/u010370871/article/details/109536672</guid><author>u010370871</author><pubDate>Fri, 06 Nov 2020 18:01:09 +0800</pubDate><description><![CDATA[公众号：Qt那些事儿

简介
Qt中对于字体处理最常用的三个类

QFontDataBase
QFont
QFontInfo

今天主要讲的是Qt在Linux下字体的基础-QFontDataBase类。
QFontDataBase
QFontDataBase为Qt提供了当前系统所有可用的字体及其信息
Linux平台
Linux平台下，Qt解析字体相关的库使用的是FontConfig。
Fontconfig是用于配置和自定义字体访问的库。

Fontconfig可以：
自动安装时发现新字体，从而消除了常见的配]]></description><category></category></item><item><title><![CDATA[Qt的QPropertyAnimation动画框架小用.md]]></title><link>https://blog.csdn.net/u010370871/article/details/109459543</link><guid>https://blog.csdn.net/u010370871/article/details/109459543</guid><author>u010370871</author><pubDate>Mon, 02 Nov 2020 22:50:16 +0800</pubDate><description><![CDATA[公众号：Qt那些事儿

序
有一天在吹逼群里，发现一个群里大佬在Steam上上架了一个游戏-秘封旅行 ~Secret Sealing Travel。
这是一个桌宠游戏。
目前采用C#编写，所以目前应该是不跨平台的。他也是C#新手，所以宠物的动画也只是一个单纯的时间戳轮训。自己自定义timer来实现动画效果。我说你可以用Qt的来实现下，大概十几行核心代码就能搞定。
所以这也是我写这篇文章的一个缘由。
代码 QPropertyAnimation
由于资源文件是png，所以这个核心代码就是三张图来回循环。
当然你]]></description><category></category></item><item><title><![CDATA[Qt中文文档-QDate]]></title><link>https://blog.csdn.net/u010370871/article/details/109348263</link><guid>https://blog.csdn.net/u010370871/article/details/109348263</guid><author>u010370871</author><pubDate>Wed, 28 Oct 2020 23:40:39 +0800</pubDate><description><![CDATA[QDate Class




属性
方法




头文件
#include &lt;QDate&gt;


qmake
QT += core


注意： 该类提供的所有函数都是可重入的。
公共成员类型




类型
名称




enum
MonthNameType{ DateFormat, StandaloneFormat }


公共成员函数




类型
函数名





QDate(int y, int m, int d)



QDate()


QDate
addDays(qint64 nda]]></description><category></category></item><item><title><![CDATA[Gtk widget 与 Qt Widget的相互嵌套]]></title><link>https://blog.csdn.net/u010370871/article/details/109088407</link><guid>https://blog.csdn.net/u010370871/article/details/109088407</guid><author>u010370871</author><pubDate>Wed, 14 Oct 2020 23:51:59 +0800</pubDate><description><![CDATA[简述
gtk qt窗口的相互嵌套。主要是使用了Gtk中的socket跟plug的模式，与Qt中的QX11EmbedContainer。这是两个不同的UI库的相互嵌套的方法。google了下发现有个老哥写出来了，但是gtk嵌入到Qt的代码中是有点问题的，所以我改了改他的代码。最后终于完成了，毕竟我对gtk不太熟悉=。=代码很简单，这里就不做任何说明了。
代码
pro文件中添加
unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += gtk+-2.0

代码
#inc]]></description><category></category></item><item><title><![CDATA[ffmpeg录屏]]></title><link>https://blog.csdn.net/u010370871/article/details/109088399</link><guid>https://blog.csdn.net/u010370871/article/details/109088399</guid><author>u010370871</author><pubDate>Wed, 14 Oct 2020 23:51:15 +0800</pubDate><description><![CDATA[Linux
ffmpeg -video_size 1820x900 -framerate 25 -f x11grab -i :0.0 -t 5 output1.mp4

https://trac.ffmpeg.org/wiki/Capture/Desktop

]]></description><category></category></item><item><title><![CDATA[‘error: ‘‘this‘‘ cannot be implicitly captured in this context‘]]></title><link>https://blog.csdn.net/u010370871/article/details/109088382</link><guid>https://blog.csdn.net/u010370871/article/details/109088382</guid><author>u010370871</author><pubDate>Wed, 14 Oct 2020 23:48:37 +0800</pubDate><description><![CDATA[讲真，使用Qt反射 + 元对象 + C++11 的特性，写c++代码简直不要太爽，代码优雅的不是一丁半点。
今天使用lambda表达式的时候，发现报了个编译错误
error: 'this' cannot be implicitly captured in this context

纠其原因，在于我在lambda表达式中使用了某个成员变量，但是没有捕获this
把代码
[](){}

加上this就可以了
[this](){}


...]]></description><category></category></item><item><title><![CDATA[CPP lambda表达式]]></title><link>https://blog.csdn.net/u010370871/article/details/109088376</link><guid>https://blog.csdn.net/u010370871/article/details/109088376</guid><author>u010370871</author><pubDate>Wed, 14 Oct 2020 23:47:58 +0800</pubDate><description><![CDATA[其实一直有个疑问，就是lambda表达式捕获this变量的时候是不是引用传递。想用代码测试下是不是引用传递。生怕有拷贝构造函数啊！
    m_test1 = 1;  //成员便来嗯
    auto fTest = [this]()
    {
        this-&gt;m_test1 = 3;
    };
    fTest();
    qDebug()&lt;&lt;this-&gt;m_test1&lt;&lt;endl;

发现输出3。看来是引用传递，也就是指针传递。
本质this就是]]></description><category></category></item><item><title><![CDATA[Qt那些事儿-Qt基础教程]]></title><link>https://blog.csdn.net/u010370871/article/details/109084289</link><guid>https://blog.csdn.net/u010370871/article/details/109084289</guid><author>u010370871</author><pubDate>Wed, 14 Oct 2020 21:16:59 +0800</pubDate><description><![CDATA[前言
磕磕绊绊，自己也学Qt很久了。本意想弄个视频教程来教大家如何入门Qt，然后自己还是懒癌犯了，我还是喜欢讲解Qt的源码。
目前Qt的基础教程还是很多的，但是质量堪忧。刚入门时我看的时豆子君的学习之路，然后还是学到了不少的东西，也慢慢的对Qt有了自己的看法。回头看豆子君的教程还是有一些可以补充的。
这次搞Qt的基础教程，我准备把我认为该补充的文章结合豆子大佬的教程搞一份新的教程出来。给豆子君发邮件也已经得到了他的允许。往来邮件
还有二三里的教程-Qt一二三，我看已经停更了，我也准备把他的停更的文章以及模块]]></description><category></category></item><item><title><![CDATA[Qt中文文档-QFile]]></title><link>https://blog.csdn.net/u010370871/article/details/109018276</link><guid>https://blog.csdn.net/u010370871/article/details/109018276</guid><author>u010370871</author><pubDate>Sun, 11 Oct 2020 22:21:25 +0800</pubDate><description><![CDATA[公众号：Qt那些事儿

QFile Class
QFile 类提供读写文件的接口。




属性
方法




Header:
#include 


qmake:
QT += core


Inherits:
QFileDevice


Inherited By:
QTemporaryFile



包含继承成员的成员列表
废弃的成员

注意： 类中所有函数都是 可重入的。
公共成员类型




类型
方法




typedef
DecoderFn


公共成员函数




类型
方法





QFi]]></description><category></category></item><item><title><![CDATA[打通网站(Hexo)+微信小程序(WeHexo)-可能是完美的白嫖方案]]></title><link>https://blog.csdn.net/u010370871/article/details/108906203</link><guid>https://blog.csdn.net/u010370871/article/details/108906203</guid><author>u010370871</author><pubDate>Fri, 02 Oct 2020 23:52:47 +0800</pubDate><description><![CDATA[前言
我个人是习惯写博客的，四年前开始写Hexo的博客。一年之后，也就是三年前在腾讯云上买了个服务器，搭建了个WordPress的博客，再过一年之后就已经日访问300+了（by 搜索引擎）。但是一年200多的花销，也感觉有点没必要，而且我也习惯写md格式的文档，每次粘贴到WordPress也是挺麻烦的。而且，我也只是单纯的分享自己的开发日志，花费就有点没必要了。
原来使用一个大佬写的WordPress的插件，能够把网址能够json化，然后在小程序使用https的协议把内容弄下来。这样就能够同步自己的网站跟小]]></description><category></category></item><item><title><![CDATA[Qt源码解析-QFileSystemWatcher-polling.md]]></title><link>https://blog.csdn.net/u010370871/article/details/108729734</link><guid>https://blog.csdn.net/u010370871/article/details/108729734</guid><author>u010370871</author><pubDate>Tue, 22 Sep 2020 12:31:35 +0800</pubDate><description><![CDATA[公众号：Qt那些事儿

前言
上一篇讲了QFileSystemWatcher来检测文件夹的变化，里边的实现有两个

// 这个用于检测文件类型的变化

class QInotifyFileSystemWatcherEngine : public QFileSystemWatcherEngine



// 这个用于监控Dir的变化

class QDnotifyFileSystemWatcherEngine : public QFileSystemWatcherEngine




QFileSystemW]]></description><category></category></item><item><title><![CDATA[Qt释放线程资源的一些工程上的方法.md]]></title><link>https://blog.csdn.net/u010370871/article/details/108692468</link><guid>https://blog.csdn.net/u010370871/article/details/108692468</guid><author>u010370871</author><pubDate>Sun, 20 Sep 2020 13:42:47 +0800</pubDate><description><![CDATA[公众号：Qt那些事儿

Qt官方文档的方法

QThread创建在栈上，然后QObject需要配合QThread释放资源
直接上代码。结束的时候线程quit and wait

直接上代码
class Controller : public QObject
{
    Q_OBJECT
    QThread workerThread;
public:
    Controller() {
        Worker *worker = new Worker;
        worker-&gt;mov]]></description><category></category></item></channel></rss>