自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 资源 (5)
  • 收藏
  • 关注

原创 Qt那些事儿-Qt基础教程

前言磕磕绊绊,自己也学Qt很久了。本意想弄个视频教程来教大家如何入门Qt,然后自己还是懒癌犯了,我还是喜欢讲解Qt的源码。目前Qt的基础教程还是很多的,但是质量堪忧。刚入门时我看的时豆子君的学习之路,然后还是学到了不少的东西,也慢慢的对Qt有了自己的看法。回头看豆子君的教程还是有一些可以补充的。这次搞Qt的基础教程,我准备把我认为该补充的文章结合豆子大佬的教程搞一份新的教程出来。给豆子君发邮件也已经得到了他的允许。往来邮件还有二三里的教程-Qt一二三,我看已经停更了,我也准备把他的停更的文章以及模块

2020-10-14 21:16:59 471

原创 Qt释放线程资源的一些工程上的方法.md

公众号:Qt那些事儿Qt官方文档的方法QThread创建在栈上,然后QObject需要配合QThread释放资源直接上代码。结束的时候线程quit and wait直接上代码class Controller : public QObject{ Q_OBJECT QThread workerThread;public: Controller() { Worker *worker = new Worker; worker->mov

2020-09-20 13:42:47 2616

原创 vim打开大文件

如何打开大文件不卡。

2023-06-09 09:50:31 526

原创 Linux下使用WPS做office的二次开发

上个版本WPS在Linux上就已经支持二次开发了,可以直接去看官网相关的介绍。我们选择WPS的客户端进行二次开发。

2022-10-11 19:35:49 5473 8

原创 Qt在Linux下实现无边框可缩放的窗口

在Linux平台上做desktop应用的还是非常少的。所以基本上网上这部分资料是没有的。Linux平台又不像Win那么多API。这次的实现,本来自己想写xlib的函数的,然后机智的我从deepin的代码里把他们封装好的抠出来了,然后补充了一些x11的封装函数。来完成最终的效果。本篇文章纯粹抛砖引玉,毕竟只是个demo。简单的说一下遇到的坑。

2022-10-10 13:35:02 1292 1

原创 小谈一下Qt的绘制引擎(结尾有彩蛋)

公众号:张小飞那些事儿小谈一下Qt的绘制引擎(结尾有彩蛋)序这一篇算是我给部门分享的一篇业务基础吧。以及说一下自己对Qt绘制引擎的理解以及及时的复盘。先谈一个疑问?如何设计一个优秀的绘制引擎。注意下这里,我说的是绘制引擎,而不是光栅化引擎。这有本质的区别。绘制引擎是我们开发者用的一些常见的接口。光栅化引擎我认为是绘制引擎一部分的实现,所以这里只讲外层的东西。逃)个人认为,Qt是把C++ OOP的特性用到滚瓜烂熟的框架-封装,继承,多态。废话不多说,先举个栗子吧。举个????假如要画一条

2021-10-31 12:36:18 1275 1

原创 Qt那些事儿-序

公众号:张小飞那些事儿前言终于开篇了呢!先写个前言吧。一些经历还是简单介绍下自己我叫张小飞,目前在金山负责WPS For Linux的研发。先说下自己的经历吧。刚毕业的我去了方正,当时维护一个桌面端阅读器的开发。名称是Apabi Reader 是个PDF+私有格式(CEBX)的阅读器这个东西我维护了半年。现在回想起来。这个东西还是很有意思的。Apabi Reader凭印象说吧。先说GUI框架吧。当时这个软件的GUI框架是自己封装的。但是给我的感觉就是一个MFC+Win32API+GT

2021-02-05 15:15:11 453 1

原创 感谢Qt官方赠送的礼品

2021-01-20 20:31:00 179

原创 Ubuntu18配置wordpress服务器 (nginx + wordpress + mariadb)

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

2021-01-17 23:02:49 548 1

原创 Linux打印命令lp详解

lp在类Unix系统上(一般为Linux跟Mac平台),使用lp命令来打印文件。lp命令在Linux跟Mac平台,使用的是cups服务(没有其它的),来支持打印。CUPS可以参考这篇文章lp通常支持两种文件格式的打印PSPDFPSPostScript是一种编程语言,最适用于列印图像和文字(无论是在纸、胶片或非物质的CRT都可)。用现今的行话讲,它是页面描述语言。它既可以像程序代码一样具有可读性,又能表示出可任意放大和缩小的矢量图。PDFPDF(Portable Documen

2020-12-23 20:55:54 4380 2

原创 Qt源码那些事儿-Linux下Qt的QFontDataBase字体引擎解析

公众号:Qt那些事儿简介Qt中对于字体处理最常用的三个类QFontDataBaseQFontQFontInfo今天主要讲的是Qt在Linux下字体的基础-QFontDataBase类。QFontDataBaseQFontDataBase为Qt提供了当前系统所有可用的字体及其信息Linux平台Linux平台下,Qt解析字体相关的库使用的是FontConfig。Fontconfig是用于配置和自定义字体访问的库。Fontconfig可以:自动安装时发现新字体,从而消除了常见的配

2020-11-06 18:01:09 941

原创 Qt的QPropertyAnimation动画框架小用.md

公众号:Qt那些事儿序有一天在吹逼群里,发现一个群里大佬在Steam上上架了一个游戏-秘封旅行 ~Secret Sealing Travel。这是一个桌宠游戏。目前采用C#编写,所以目前应该是不跨平台的。他也是C#新手,所以宠物的动画也只是一个单纯的时间戳轮训。自己自定义timer来实现动画效果。我说你可以用Qt的来实现下,大概十几行核心代码就能搞定。所以这也是我写这篇文章的一个缘由。代码 QPropertyAnimation由于资源文件是png,所以这个核心代码就是三张图来回循环。当然你

2020-11-02 22:50:16 326

原创 Qt中文文档-QDate

QDate Class属性方法头文件#include <QDate>qmakeQT += core注意: 该类提供的所有函数都是可重入的。公共成员类型类型名称enumMonthNameType{ DateFormat, StandaloneFormat }公共成员函数类型函数名QDate(int y, int m, int d)QDate()QDateaddDays(qint64 nda

2020-10-28 23:40:39 729

原创 Gtk widget 与 Qt Widget的相互嵌套

简述gtk qt窗口的相互嵌套。主要是使用了Gtk中的socket跟plug的模式,与Qt中的QX11EmbedContainer。这是两个不同的UI库的相互嵌套的方法。google了下发现有个老哥写出来了,但是gtk嵌入到Qt的代码中是有点问题的,所以我改了改他的代码。最后终于完成了,毕竟我对gtk不太熟悉=。=代码很简单,这里就不做任何说明了。代码pro文件中添加unix: CONFIG += link_pkgconfigunix: PKGCONFIG += gtk+-2.0代码#inc

2020-10-14 23:51:59 1099

原创 ffmpeg录屏

Linuxffmpeg -video_size 1820x900 -framerate 25 -f x11grab -i :0.0 -t 5 output1.mp4https://trac.ffmpeg.org/wiki/Capture/Desktop

2020-10-14 23:51:15 320

原创 ‘error: ‘‘this‘‘ cannot be implicitly captured in this context‘

讲真,使用Qt反射 + 元对象 + C++11 的特性,写c++代码简直不要太爽,代码优雅的不是一丁半点。今天使用lambda表达式的时候,发现报了个编译错误error: 'this' cannot be implicitly captured in this context纠其原因,在于我在lambda表达式中使用了某个成员变量,但是没有捕获this把代码[](){}加上this就可以了[this](){}...

2020-10-14 23:48:37 3167

原创 CPP lambda表达式

其实一直有个疑问,就是lambda表达式捕获this变量的时候是不是引用传递。想用代码测试下是不是引用传递。生怕有拷贝构造函数啊! m_test1 = 1; //成员便来嗯 auto fTest = [this]() { this->m_test1 = 3; }; fTest(); qDebug()<<this->m_test1<<endl;发现输出3。看来是引用传递,也就是指针传递。本质this就是

2020-10-14 23:47:58 461 1

原创 Qt中文文档-QFile

公众号:Qt那些事儿QFile ClassQFile 类提供读写文件的接口。属性方法Header:#include qmake:QT += coreInherits:QFileDeviceInherited By:QTemporaryFile包含继承成员的成员列表废弃的成员注意: 类中所有函数都是 可重入的。公共成员类型类型方法typedefDecoderFn公共成员函数类型方法QFi

2020-10-11 22:21:25 1436

原创 打通网站(Hexo)+微信小程序(WeHexo)-可能是完美的白嫖方案

前言我个人是习惯写博客的,四年前开始写Hexo的博客。一年之后,也就是三年前在腾讯云上买了个服务器,搭建了个WordPress的博客,再过一年之后就已经日访问300+了(by 搜索引擎)。但是一年200多的花销,也感觉有点没必要,而且我也习惯写md格式的文档,每次粘贴到WordPress也是挺麻烦的。而且,我也只是单纯的分享自己的开发日志,花费就有点没必要了。原来使用一个大佬写的WordPress的插件,能够把网址能够json化,然后在小程序使用https的协议把内容弄下来。这样就能够同步自己的网站跟小

2020-10-02 23:52:47 1724

原创 Qt源码解析-QFileSystemWatcher-polling.md

公众号:Qt那些事儿前言上一篇讲了QFileSystemWatcher来检测文件夹的变化,里边的实现有两个// 这个用于检测文件类型的变化class QInotifyFileSystemWatcherEngine : public QFileSystemWatcherEngine// 这个用于监控Dir的变化class QDnotifyFileSystemWatcherEngine : public QFileSystemWatcherEngineQFileSystemW

2020-09-22 12:31:35 377 1

原创 Qt线程同步-单生产者多消费者

公众号:Qt那些事儿序单生产者单消费者大家应该已经掌握了。上一篇使用的是QMutex跟QWaitCondition。如果你的C++编译器版本比较高的话,那就可以使用C++11的 std::condition_variable了代码这次对比单生产者单消费者,我们多了mutex来进行消费者之间的同步。这样就可以写单生产者多消费者了。这是代码中多的一个锁,用于同步消费者。std::mutex mutexConsumer; //消费者用来同步用的上代码,这是线程同步需要的变量struct It

2020-09-20 13:41:11 474

原创 Qt线程同步-单生产者单消费者.md

公众号:Qt那些事儿生产者消费者生产者消费者是个很经典的模型,我当时上学的时候,记得操作系统老师就讲过。现在我们用Qt的条件变量来实现。QWaitConditionQt的环境变量为QWaitCondition,对应的CPP的类就是std::condition_variable用任意一个就可以。Qt是有官方的demo实现的。我觉得对于新手来讲不太好理解,而且并没有充分利用C++的RAII。这次我们自己来实现下Qt的官方demo地址Examples\Qt-5.14.2\corelib\thr

2020-09-20 13:39:35 366

原创 Qt的线程同步 - QMutex and QMutexLocker.md

公众号:Qt那些事儿QMutex锁是多线程同步常用的方法Qt的锁 - QMutex。C++的锁 - std::mutex;QMutex可以手动调用Lock跟UnLock来加锁跟解锁。但是既然我们都写C++的,还是充分利用C++的RAII的来进行资源管理,避免线程意外停止,发生死锁。QMutexLocker可以看下Qt中QMutexLocker的实现inline ~QMutexLocker() { unlock(); }在QMutex锁的生命周期结束以后,自动解锁。对应C++的类就是

2020-09-20 13:37:17 480

原创 Qt线程的一些控制方法.md

公众号:Qt那些事儿需求基于上一篇文章的例子,我们来做一些控制的操作,比如暂停,停止,继续这些操作。五个控制Start 开始线程Stop 结束线程Pause 暂停线程Continue 继续线程Destory 毁灭线程新增加的三个上一篇,我们已经有了开始线程跟Destory。现在添加新的三个结束线程暂停线程继续线程代码talk is cheap。还是上代码吧,很简单。void WorkThread::Start(){ m_bStop = false;

2020-09-20 13:34:14 254

原创 QThread线程官方的推荐的写法.md

公众号:Qt那些事儿序直接重写QThread是没有问题的,但是重写QThread这种方式不太灵活,对于重写的Thread来讲,只有run函数才会在新的线程中。对于重写的QThread是可以带出来对应的数据得,但是自己响应自己的槽函数的话,就不太灵活了,Qt的老版本代码中甚至写了这样的代码。 WorkerThread(QObject *parent = 0) : QThread(parent) { moveToThread(this); }

2020-09-20 13:32:34 269

原创 Qt线程基础.md

公众号:Qt那些事儿线程的概念WIKI:线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。线程是独立调度和分派的基本单位。线程可以为操

2020-09-20 13:30:57 1220

原创 Ubantu下安装VS Code

使用Ubuntu Make来安装Visual Studio Code。据了解,Ubuntu Make是以前Ubuntu开发者工具中心,作为一个命令行工具可以帮助用户快速安装各种开发工具、语言和IDE。同时,通过Ubuntu Make轻松安装Android Studio和其他IDE,类似Eclipse。下面介绍如何使用Ubuntu Make安装VS Code。  安装Visual Studi

2020-09-20 02:29:27 8876

原创 Ubuntu安装KDE桌面.md

公众号:Qt那些事儿简述最近想看看kde下的文件管理器是怎么实现的,因为发现Qt自带的文件管理器是有性能bug的,而且并没有ui线程上的交互处理,如果改的话,只能去更改Qt源码(但是这样改也太蛋疼了,哪有一言不合就去改Qt源码的)。所以想看看同样是Qt写的kde桌面是不是有这个问题。所以装了一个kde的环境来看看,因为也遇到了一些小问题,而且百度出来的全是csdn的乱七八糟的东西,只能自己总结下了。更改源ubuntu自带的源没有找到,我就更新了下源。首先备份源cd /etc/apt/sudo

2020-09-20 02:05:45 182

原创 Qt源码解析-QFileSystemWatcher源码剖析(Linux).md

欢迎关注我的公众号:Qt那些事儿简介QFileSystemWatcher的作用是监视本地文件夹的变化以及文件的变化。概述QFileSystemWatcher的实现类是QFileSystemWatcherPrivate。 其中QFileSystemWatcherPrivate中的关键成员变量QFileSystemWatcherEngine用于监视目录以及文件的变化,发送信号给QFileystemWatcher。其中QFileSystemWatcherEngine派生了三个类。class QFile

2020-09-19 19:31:01 1489

原创 Qt元对象(Meta-Object)系统

反射-在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。[1]用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。要注意术语“反射”和“内省”(type introspection)的关系。内省(或称“自省”)机制仅指程序在运行时对自身信息(称为元数据)的检测;反射机制不仅包括要能在运行时对程序自身信息进行检测,还要求程序能进一步根据这些信息改变程序状态或结构。C++的反射C++的标准语法是不提供反射的特性的,不过随着C++

2020-09-10 01:07:46 438

原创 Qt主界面卡死的解决方案-一些具体实现方式

简介我们在写UI文件的时候,有很多情况下,是需要界面来处理业务中某些耗时的操作,这时候如果不处理好界面相关的逻辑的话,主界面就会卡死,这时候就需要我们上多线程了逻辑1首先上业务上一个很简单的栗子比如我们的代码中有这么一个耗时的操作 // 第一种耗时的操作 auto fWhile1 = [] () { for (int i = 0; i < 1000000; i++) { qDebug()<<i<&

2020-09-10 00:24:17 1934 1

原创 QML中文文档,QML中文手册,QML入门手册

发现了一个很好的中文翻译的入门手册。上链接QML中文文档

2018-12-28 20:49:02 9962 1

原创 WPS for Linux非正式Bug反馈平台

http://cryfeifei.cn/index.php/shuoshuo/wpsforlinux/

2018-06-13 14:14:37 601

原创 WPS for Linux最新版本下载地址-长期有效

http://cryfeifei.cn/index.php/2018/06/11/linuxwpsdownload/

2018-06-11 15:08:11 4852

原创 Qt5-poppler编译-linux

本文首发在个人网站 cryfeifei.cn qtdoc.cn现在poppler在Linux官方的包一般可以找到apt-cache search poppler-qt5看看有没有linux的包libpoppler-qt5-1 - PDF rendering library (Qt 5 based shared library)libpoppler-qt5-dev - PD...

2018-05-18 16:49:43 3278 3

原创 Qt中文帮助文档-QX11Info

本文转自个人博客张小飞 Qt中文文档QX11Info 提供有关X11相关的相关配置信息(就是linux下的x11相关的配置信息) 属性 方法 头文件: #include&amp;lt;QX11Info&amp;gt; qmake: QT += x11extras Since: Qt 5.1简述Public Funct...

2018-05-17 11:03:18 7773

原创 Qt源码解析-Qt linux打印机封装类QCUPSSupport

本文原文链接http://www.qtdoc.cn/qcupssupport.html。 本文首发网站www.qtdoc.cnq_cups_p.h#ifndef QCUPS_P_H#define QCUPS_P_H//#include "QtCore/qstring.h"//#include "QtCore/qstringlist.h"//#include "QtGui/qprinter.

2017-12-11 10:20:17 3184

翻译 Qt中文文档-QAbstractAxis类

本文首发在网站www.qmldoc.cn,查看更多信息,请登录该网站本文首发在网站www.qmldoc.cn,查看更多信息,请登录该网站QAbstractAxisQAbstractAxis类是用于专门处理坐标轴的类简述公共类型属性Public Functions信号详细说明成员变量成员函数成员函数QAbstractAxisQAbstrac...

2017-12-03 12:16:27 5085

原创 火狐浏览器历史版本

火狐浏览器历史版本下载,每次都要手动找,这次记录一下http://ftp.mozilla.org/pub/firefox/releases/

2017-11-24 09:38:01 4597

翻译 Qt中文文档-QAbstractAudioOutput类

本文首发在个人网站www.qtdoc.cn。****************************************************本文首发在个人网站wwwqtdoccnQAbstractAudioOutput类QAbstractAudioOutput类是音频后端的基类简述public函数信号详细描述成员函数QAbstractAudioOutput类QAbstractAu

2017-11-06 23:29:11 2515 1

pdf1.7最新标准

pdf官网最新的1.7标准。适合新手入门。纯粹知识共享。

2018-08-22

AssistX一键安装加破解适合所有vs版本

适合所有VS版本,两个安装程序,一个安装,一个破解。

2015-03-20

安卓点击按钮实现跳转功能

用安卓的工程实现点击按钮页面跳转功能,适合新手

2013-07-08

IKAnalyzer中文分词包

我在博客中使用的中文分词包,大家也可以去官网上取下

2013-07-08

基于VC6.0下的MFC贪食蛇小程序

自己做的基于MFC下的贪食蛇程序,制作详细步骤压缩包里有

2013-05-05

空空如也

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

TA关注的人

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