自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (14)
  • 收藏
  • 关注

原创 Qt:基于QQuickFramebufferObject显示QImage到QML中

通过FBO,高效的显示一个QImage到QML中

2024-03-04 17:01:20 1161 1

原创 Qt:工欲善其事,必先利其器。在Qt中使用Sentry在线收集日志

引言工欲善其事,必先利其器。软件工程越来越复杂,一定要依赖现代化的方式,帮助我们快速定位,分析问题。这里我们从日志相关3大功能,log、minidump和performance展开,讲述如何在Qt中使用Sentry在线收集日志关于SentrySentry平台,从简单的说是一个在线日志收集平台。从复杂说的可以帮我们处理从bug发生、定位、源码追溯、bug管理、修复、追踪,甚至是关联git和ci等一系列复杂流程。使用Sentry是为了帮助我们从繁琐、复杂的日志收集工作中解放出来,提升开发效率。同时S

2020-12-24 10:00:03 1323

原创 Qt:靠谱点了!基于WebAssembly开发网页端

we

2020-07-21 11:42:14 6011 3

原创 Qt:获取系统CPU使用率(Windows+macOS+Linux)

介绍JQCPUMonitor,是一个给Qt开发的,CPU使用率检测库,目前只检测CPU整体使用率。支持3个主要平台,Windows、macOS和Linux返回qreal类型,0表示0%使用率,1表示100%使用率,0.5表示50%使用率,以此类推使用举例获取当前CPU使用率JQCPUMonitor::cpuUsagePercentage()获取5秒内平均C...

2018-07-15 15:24:23 9485 4

原创 Qt for Windows:Qt 5.11.0 MinGW 静态编译版本(包含OpenSSL)

概述本文讲述如何使用已经编译好的套件,让Qt支持静态编译如果要自己编译,可以参考:http://blog.csdn.net/wsj18808050/article/details/72862478我的配置参数是:configure.bat -static -release -platform win32-g++ -prefix "C:\Qt\Qt5.11.0_Min...

2018-05-21 15:57:18 8085 4

原创 Qt:在QtCreator中使用Clang-Tidy和Clazy检查C++代码质量

QtCreator在前几天发布了4.6.0的版本,增加了两个非常棒的新功能,分别是Clang-Tidy和Clazy官方的blog链接: Qt Creator 4.6.0 released这些功能能够帮助我们更好的检查C++代码,甚至是一键纠正,具体的特性和好处不在累述,网上太多了,有兴趣可以自行搜索。所有的代码检查配置,因人而异,请根据自己需求,做调整。检查项不是越多越好代码检查...

2018-04-05 10:44:15 10888 1

原创 Qt:实时显示大华摄像头数据到QLabel上

环境系统:Windows 10 64bit 编译器:VS 2013 64bit Qt:5.10.0 大华播放库:576773_General_PlaySDK_Chn_Windows64_IS_V3.39.1.R.171130 大华网络库:696_524592_General_NetSDK_Chn_Win64_IS_V3.48.1.R.170622pro文件QT += c

2018-01-13 16:58:58 6737

原创 Qt:解决跨线程调用socket/IO类,导致报错的问题(socket notifiers cannot be enabled from another thread)

Qt有很多IO相关的类,比如说QTcpSocket、QFile,总的来说,在Qt的框架内使用,还是非常方便的。 但是用过其他框架IO类的人,可能有一个很不习惯,就是Qt的所有IO类,都不推荐或者不可以跨线程操作,不然就会报错,比如说操作QTcpSocket跨线程调用write接口,就会报错:socket notifiers cannot be enabled from another t

2018-01-10 11:17:41 14332 8

原创 Qt:5.10新特性,在QML中定义枚举

Qt在5.5开始,支持在C++中定义一个枚举。 采用Q_ENUM关键字,注册自定义的枚举到元对象系统中,供QML使用。这,说实话,非常麻烦,非常麻烦,非常麻烦 嗯,麻烦的事情要说3次。以至于长期以来,在不想涉及太多C++的情况下,我自己开发QML程序都是用字符串做枚举,比如说“XxxStyle”这个问题,终于在5.10解决了。5.10中允许在QML中自定义枚举值,方式如下:My

2018-01-07 22:36:51 8267 6

原创 Qt:用WebSocket构建QML和C++之间的桥梁

前言WebSocket,作为一个全双工的网络通讯协议,正在慢慢的被各大开发框架和语言接受。之前有说过Qt在5.10新出了WebGL的platform,连接如下:http://blog.csdn.net/wsj18808050/article/details/78791001其中在浏览器和程序之间,负担着大量数据传递,就是WebSocket。今天就来说下QML如何通过WebSocket和C++交互。

2017-12-30 23:31:24 2100 5

原创 Qt:终于来了!基于QML和WebGL开发网页端

序言Qt早在今年2月,就发布了WebGL相关的blog http://blog.qt.io/blog/2017/02/22/qt-quick-webgl-streaming/ 并且预计5.10加入这个feature10个月过去了,Qt在12月7号如约发布了5.10,其中包含了WebGL的插件一开始没反应过来,过了好几天才想起来这件事,于是乎马上行动起来,来当下小白鼠。关于WebGL和QML基于Q

2017-12-13 13:41:46 29512 9

原创 Qt for Windows:Qt 5.9.3 MinGW 静态编译版本(包含OpenSSL)

概述本文讲述如何使用已经编译好的套件,让Qt支持静态编译

2017-11-25 22:08:37 3801 3

原创 Qt:在树莓配中控制gpio阵脚

写了一个简单的demo,控制20号针脚,直接上代码

2017-10-25 13:17:46 1539 1

原创 Qt:在QML中使用Animator,让动画无卡顿

之前有说如果使用Qt的PropertyAnimation做Material曲线动画。传送门:```http://blog.csdn.net/wsj18808050/article/details/72869043```PropertyAnimation是Qt提供的属性动画,用的非常广泛。可以适用于很多场合,比如说X的移动,甚至自定义属性的修改。他还有很多派生类,比如说NumberAnimation、Color

2017-08-31 11:22:24 7163 2

原创 Qt for Linux:树莓派3配置Qt开发环境(Qt 5.9.1 和 OpenCV 2.4.13)

关于树莓派我用的是 树莓派树莓派3代B型 Raspberry Pi Model 3 B我拿来是做监控视频采集的,所以会用到 Qt 和 OpenCV开发上,除了视频采集和视频文件生成用的OpenCV,其他全部Qt本篇文章只涉及树莓派的配置,不涉及具体的开发配置树莓派系统下载系统镜像(下列方法3选1去下载即可)官网地址https://ubuntu-mate.org/download/磁力链接magne

2017-07-04 17:18:02 8850 5

原创 Qt:解码海康视频格式并显示在QLabel上

海康的格式比较特殊,几乎是私有的,解码的话要使用海康的库才行。先要下载SDK,地址如下: http://www1.hikvision.com/cn/download_more_406.html我这里下载的是64位的,我本地的环境是Qt5.9.0 64bit配合VS2013使用的话,还是挺方便的,pro中导入海康的库LIBS += -L$$PWD/hik -lPlayCtrl代码如下:#includ

2017-07-03 23:47:08 10904 6

原创 Qt:在QML中自定义贝塞尔动画曲线

Qt在PropertyAnimation中,已经准备了很多常用的动画曲线,比如说Linear、Quad、Elastic等。这些基本已经可以覆盖我们大部分需求了,但是也不是所有的。 比如说,google非常有名的设计风格Material,就有自己的动画曲线,如下图:这个呢,在QML中是没有的。要实现它,最简单的方法就是自定义一个贝塞尔曲线。别被这个名字吓到了,实际上我们要用到的就是4个数字,没有什么

2017-06-05 17:03:02 5354

原创 Qt for Windows:静态发布QML开发的程序

概述之前写了一篇,讲如何静态编译Qt5.9.0,链接如下:http://blog.csdn.net/wsj18808050/article/details/72862478现在趁热打铁,再说下如何以静态方式,发布QML程序。其实静态发布Quick/QML程序,大体上和静态发布Widgets差不多,只不过QML部分的一些库,是无法静态编译的,毕竟都称不上C++。

2017-06-05 12:01:49 5755 4

原创 Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL)

概述5月31号,Qt这一次竟然没跳票,如约发布了LTS的5.9感觉这一次5.9用的人会很多,毕竟LTS,而且确实改进很大,所以这一次完整的写一遍静态编译的步骤我这里只涉及MinGW版本的静态编译,包含OpenSSL,不包含MySql,稍后我会把所有涉及到的编译结果,包括虚拟机,全部上传到百度云

2017-06-04 23:13:19 27593 20

原创 Qt:QML静态编译大坑之import用法

在使用静态编译的时候,有一个很重的一点,就是关于import比如说我们在非main.qml的页面中用到了Controls系列的QML控件,那么我们必须在main.qml中,就已经要写上import QtQuick.Controls 1.4这样的语句。即使main.qml中没用到这个控件,也要写这个import,不然当我们在非main.qml中使用的时候,就会报错

2017-05-06 16:45:35 10152 1

原创 Qt for Mac:配置/搭建开发环境

经常看到有人在问,所以干脆整理下,其实步骤很简单。 我用的环境,在写稿时都是最新的,分别是:macOS 10.12.4、Xcode8.3.2和Qt5.8.0,都是在虚拟机里弄的。准备首先要准备一个macOS系统,这个是真机或者虚拟机都可。我这里用了虚拟机,安装步骤我就跳过不讲了。PS:我制作macOS系统安装U盘的命令是sudo /Applications/Install\ macOS\ Si

2017-04-23 23:07:40 38003 6

原创 Qt:通过预解释和预读取,大幅度提升图片加载速度

在我以往的开发中,尤其是嵌入式,图片的加载一直是一个头疼的问题。图片大了,加载就很慢,在嵌入式上,一个1280*1080的图片,加载可能要好几百毫秒。也就是说加载一个背景,就可能要花去几百毫秒,还不包括其他各种图片。 在用尽各种奇妙的方法后,今天终于找到一个根治的方法。赶紧来和大家分享下。首先,我们要知道一个图片的加载,时间到底消耗在哪。一般来说,一个图片加载,可以分为两步,第一步是从硬...

2017-03-28 11:15:58 8493 3

原创 Qt:使用ShaderEffectSource对Item拍摄"UI快照",提升渲染效率

在上一篇中,提到了如何使用QML Profiler对程序性能问题进行分析 http://blog.csdn.net/wsj18808050/article/details/62226574而这片文章,就开始我们第一个实战。这个实战,对应一个很简单并且很常见的需求,就是我们有一个静态(固定内容)的图像,但是这个图像需要一直显示在那里,也许我们还需要对这个图像进行动画。这时候,根据这个图像本身的复杂程

2017-03-19 16:03:30 2517 1

原创 Qt:通过QML Profiler分析程序性能问题

对于一个程序的开发,性能优化是开发中的一个重要步骤。我们肯定不希望开发出来的程序表现出卡顿,最好是处处流畅,丝滑般的体验。

2017-03-15 15:41:35 8838

原创 Qt:5.8新特新,QtLite使用方法,以及缩减应用体积的效果

Qt到了5.8版本,终于迎来了一个重要功能,就是QtLite 此功能可谓是千呼万唤始出来,饱受诟病的体积问题,终于可以在一定程度上得到解决。那么QtLite到底是什么呢,按照官方原话,是Configurability (Qt Lite Project)Qt 5.8 comes with a rewritten configuration system that allows for easy c

2017-02-20 19:19:54 15498 18

原创 Qt for Windows:Qt 5.8.0 MinGW 静态编译版本(包含OpenSSL)

刚刚弄好了5.8.0的静态编译,过程的话,和以前都差不多,就不多说了 唯一的不同就是 -qt-sql-sqlite 要改成 -qt-sqlite ,不然会报错如果想自己制作静态编译版本的Qt,我贴个以前5.6的链接,可以参考下 http://blog.csdn.net/wsj18808050/article/details/50909381#comments这一次编译,我用的配置参数是:conf

2017-01-25 18:58:27 11260 21

原创 Qt:5.8新特性,qmlc使用以及效果

关于qmlc5.8在昨天终于发布了,在很艰辛的下载后,终于在今天用上了。 在5.8各个新特性中,我特别看重qmlc这个。那么qmlc是个什么东西呢,官方的描述是这样的Implemented caching of code and data structures generated from .qml and .js files to disk, reducing start-up time and

2017-01-24 21:44:53 12743 7

原创 Qt:获取屏幕物理长度和宽度(CM)

Qt有提供接口,获取屏幕的分辨率和DPI,那么通过这些接口的组合,我们就可以算出来屏幕的物理高宽了代码如下:QGuiApplication app( argc, argv );QScreen *primaryScreen = app.primaryScreen();qDebug() << "primary screen width(cm):" << ( ( primaryScreen->geome

2017-01-11 17:16:55 10463 1

原创 Qt:解决QtQuick(QML)程序,在虚拟机或者某些环境下,动画速度过快的问题

QtQuick开发的程序,在虚拟机或者某些环境下,动画速度会以超过预定速度很多倍的速度运行。 比如说一个x轴的移动,设定3秒运行完成,实际上可能1秒就运行完了。 这个问题困扰我很久了,然后今天我终于解决掉了,这其实是Qt的一个弄巧成拙的设计。为什么这么说呢,Qt在某些环境里,比如说虚拟机里,会将渲染方式,从单线程改成多线程渲染。这原本只是想提升一下渲染性能的,但是实际上,尤其是桌面环境,渲染性能

2017-01-08 17:05:13 2184

原创 Qt:重定向QDebug输出到文件,并附上日期

介绍代码比较简单,就是一个函数,在main中调用即可

2016-12-31 11:55:50 2904 1

原创 Qt:在程序中获取源码被编译的日期和时间

注意,编译器要提供 __DATE__ 和 __TIME__ 这两个关键字,才可以用下面的代码 代码比较简单,只有两行,分别获取日期和时间static const QDate buildDate = QLocale( "es" ).toDate( QString( __DATE__ ).insert( 3, "." ).toLower(), "MMM dd yyyy");static const

2016-11-10 10:24:28 5053 3

原创 Qt:5.7虚拟键盘中拼音输入法的使用

引言在Qt5.7中,以前只有企业版才有的虚拟键盘,终于可以在开原版中使用了。但是默认的Qt安装包,安装出来的虚拟键盘,是不包含拼音输入法的,这里我来说下怎么打开拼音的支持,以及使用了虚拟键盘后,项目如何部署。请注意我使用的环境是Qt5.7.0和VS2013 32bit,若你是MinGW,请注意部分命令是不同的本教程不包含虚拟键盘本身使用的使用教程使用的工程为示例中的Qt Quick Virtual

2016-09-27 17:21:02 16916 10

原创 Qt for Linux:在CentOS下编译Qt5.7

概述本文将讲述如何在CentOS的系统下,编译Qt5.7系统我使用的是阿里云的RCS主机,1G内存,1M带宽,40G硬盘,CentOS 7系统,64位。 这个配置拿来跑服务器足够了(我是拿Qt写服务器的)。编译步骤安装gcc 我装的是gcc5.2,安装步骤在这里有 注:不用看所有的,只要看gcc安装部分就行 注2:如果是64位系统,在 3.14和3.15 这两...

2016-07-23 09:44:08 7882 4

原创 Qt:使用基于zopfli的PNG图片压缩库

使用方法JQZopfli::optimize( "/Users/Jason/Desktop/Source.png", "/Users/Jason/Desktop/Target.png" );GitHub地址https://github.com/188080501/JQZopfli

2016-07-21 00:40:41 2075

原创 Qt:计算CRC校验值(CRC16和CRC32)

CRC有非常多的模式,我没有全部都做,目前支持CRC16-ModbusCRC16-X25CRC32GitHub地址: https://github.com/188080501/JQChecksum

2016-07-14 11:49:04 14812 5

原创 Qt:基于Qt开发的轻量级HTTP/HTTPS服务器

JQHttpServer是基于Qt开发的轻量级HTTP服务器,目前支持GET和POST两个协议。底层有TcpSocket和LocalSocket两个版本,方便使用。用到的Qt库有:corenetworkconcurrenttestlib(测试用,运行不需要)理论上可以部署到任何Qt支持的平台上。推荐使用Linux系统或者Unix系统,因为在5.7后,Qt更换了Unix相关系统的底层模型,从

2016-07-05 14:27:42 35695 26

原创 Qt:用 __thread 关键字让每个线程有自己的全局变量

在GUN标准中,提供了__thread关键字,配合static后,可以实现让一个线程拥有自己的专属变量。我对__thread进行了简单的封装,可以用于存储class。并且防止了内存泄露(如果使用Qt线程类)。测试中,我一共开启了两个线程,从输出可以得知每个线程都拥有自己的变量,并且在线程退出后被正常释放。测试代码:// Qt lib import#include <QtCore>#include

2016-06-07 13:18:48 4175

原创 Qt:让程序实现单例模式,只能打开一次

介绍让程序实现单例模式,只能打开一次,这已经是一个老生常谈的问题了。方法也有很多,比如说监听端口,文件锁。我这里介绍一个用共享内存的方法。

2016-05-22 17:35:37 8091 2

原创 Qt:基于Qt开发的开源小工具包:JQTools

JQTools,为 Jason Qt Tools 的简称这是一个基于Qt开发的开源小工具包。包含了在开发程序(尤其是Qt程序)时,需要的各种小功能。本工具使用 QML(界面) 和 C++(逻辑) 开发,源码均已开源在了GitHub上。本工具我会持续更新。GitHub地址:https://github.com/188080501/JQTools

2016-05-15 15:09:59 3587

原创 Qt:Windows10 64bit VMware虚拟机环境,基于Qt 5.6 MinGW,静态编译版本和Android环境

很多人觉得编译静态环境麻烦,配置安卓环境麻烦,所以我干脆做了一个虚拟机,系统是Windows10 64bit 专业版,Qt环境是 5.6.0 MinGW版本

2016-03-20 10:04:39 6811 7

Qt使用gSoap进行简单C/S程序开发

本代码讲述了如何在Qt中,使用gSoap进行开发。 本代码讲述了如何在Qt中,使用gSoap进行开发。

2015-08-16

Qt5.5的TreeView简单使用

在5.5版本里面,quick新加入了TreeView,以前是没有的。 本Demo中进行了简单的介绍。

2015-08-10

BaiduTranslation Demo

本示例讲述了如何使用百度翻译的API,做全平台的翻译工具。 本示例讲述了如何使用百度翻译的API,做全平台的翻译工具。

2015-05-26

QML自动缩放 Demo

本示例讲述了如何在QML中,使Item自动的缩放 本示例讲述了如何在QML中,使Item自动的缩放

2015-05-18

JasonQt_iOS_Notifiction Demo

本Demo讲述了如果在Qt for iOS上推送一个本地通知

2015-05-18

JasonQt_BaiduVop Demo

本示例讲述了如何使用百度语音识别REST API,做全平台语音识别。

2015-05-04

JasonQt_iOS_ImagePicker Demo

本Demo讲述了如何在Qt for iOS中使用UIImagePickerController获取系统相册中的图片。

2015-05-03

QuickWithQImage Demo

本Demo讲述了如何在quick和C++之间双向传递图片

2015-04-17

JasonQt_Database Demo

QSqlDatabase的进一步封装 实现了多线程支持以及更加简单的操作

2015-04-05

JasonQt_Weather Demo(修正)

通过IP获取天气数据 大致流程是: 从百度Web服务api通过当前IP获取经纬度,然后将经纬度作为参数,从openweathermap获取天气数据,然后解析返回的json,打印到label上

2015-02-24

JasonQt_Weather Demo

通过IP获取天气数据 大致流程是: 从百度Web服务api通过当前IP获取经纬度,然后将经纬度作为参数,从openweathermap获取天气数据,然后解析返回的json,打印到label上

2015-02-02

LanFileSync

基于Qt开发的局域网文件同步软件 注意,只是一个示例

2015-01-16

JasonQt_LanSocket Demo

基于Qt开发的局域网P2P通讯类 使用了UDP和TCP进行通讯

2015-01-16

JasonQt_SerialPort Demo

对QSerialPoer进行了封装 实现了多线程串口通讯

2015-01-15

空空如也

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

TA关注的人

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