自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灿哥哥的博客

专注技术,热爱分享

转载 MQTT交叉编译与移植

原文链接:https://blog.csdn.net/qq_29350001/article/details/77718460

2019-01-24 17:07:09 1541 0

转载 MQTT 客户端源码分析

原文链接:https://blog.csdn.net/qq_29350001/article/details/77161537

2019-01-24 17:06:04 1468 0

转载 安装MQTT客户端及测试

原文链接:https://blog.csdn.net/qq_29350001/article/details/77062310

2019-01-24 17:05:21 1312 0

转载 搭建MQTT服务器及测试

原文链接:https://blog.csdn.net/qq_29350001/article/details/76680646

2019-01-24 16:58:21 1962 0

转载 漫谈MQTT协议

MQTT 服务器搭建我们已经完成了,现在回过头来看协议。 参看:MQTT 官网 参看:MQTT_V3.1_Protocol_Specific 参看:MQTT协议中文版 参看:MQTT协议中文版 上面这几篇文章,已经说明了一切。 下面着重讲一下 MQTT 的消息格式和主要特征。 一、什...

2019-01-24 15:52:19 563 0

转载 CentOS7下使用yum安装MariaDB

CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API...

2018-12-08 11:23:29 894 2

原创 Duilib学习之基础

一个Win32窗口程序 创建一个空的Win32工程,然后输入以下代码。 #include <Windows.h> #include <stdio.h> #include <tchar.h> // 窗口过程 ...

2018-11-18 17:12:11 370 1

转载 QTextEdit 总结

关于Qt的富文本处理, 可以参考文档: Rich Text Processing 该文档有人翻译了一下(本来我想翻译- -!), 参考Rich Text Processing富文本处理  QTextEdit的组成比较复杂, 最好看看文档了解一下Rich Text Document Struct...

2018-11-11 17:50:17 1285 2

转载 Qt之深入理解插件系统

简述 要开发一个成功的系统,插件是必经之路。 1.对于小朋友来说,积木是木头塑料,用这些小积木可以拼成房子、动物。 2.对于建筑工人来说,积木是零砖碎瓦,用这些小积木可以构建高楼大厦。 3.对于程序员来说,积木可以看做是插件(更高级一点),用这些小积木可以搭建大系统。 很多人认为插件化很复杂,便...

2018-11-11 17:13:21 2108 0

转载 QML之图片动态显示(Image与QQuickImageProvider)

最近,需要在QML上显示来自OPenCV的摄像头视频,因为是视频,即好多好多图片,所以需要QML上动态刷新来自C++的QImage。具体怎么搞我就不再赘述,虽然资料不多,但是CSDN上的一篇博客已经写得十分的清楚。该博客如下: 前言 开发Qt应用时,想把QImage发送到QML端通过Image组...

2018-11-11 16:45:11 4657 0

转载 QML之TextEdit连续输入多个空格后无法自动换行

在使用qml的TextEdit(ps:包括QTextEdit也有此问题)的时候发现不停的输入空格后会无法自动换行,如下图所示: 尝试更改所有的wrapMode后并没有卵用,可能是Qt自己的bug吧。 既然如此那就手动换行来解决,因为仅仅只有空格有此问题,所以单独处理空格就ok。 解决代码...

2018-11-11 16:11:55 819 0

转载 QML之鼠标拖动ListView中某项的位置

现有一种需求,就是用鼠标拖动某项,动态去改变某一项在ListView中显示的顺序位置,经过研究及实践实战,实现方式的核心代码如下: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Window 2.2 import Q...

2018-11-11 12:32:09 736 0

转载 乱谈Qt程序之i18n的实现(从C++到Qt)

嘿嘿,本文只是试图从纯C++的角度告诉你 Qt 的国际化是到底是怎么一回事(注:本文只看一个点,不看面)。而不会一步一步告诉你Qt的国际化/本地化怎么用(这些东西在Qt Manual、论坛 以及 相关书籍中介绍的够多了)。 Qt 国际化所做的就是这点东西: 首先,提取要翻译的字符串,手动翻译,...

2018-11-11 12:27:04 239 0

转载 QML之图片拖拽与缩放

方法 这里使用的是drag属性实现,其实还可以将图片置于ScrollView中实现拖拽,或者是放在Flickable中。 效果 代码 import QtQuick 2.9 import QtQuick.Window 2.2 Window { visible: true ...

2018-11-11 11:53:49 1070 0

转载 QML之实现滚动条

Scrolbar.qml import QtQuick 2.7 import QtQuick.Controls 2.0 // 滚动条 Rectangle { id: scrollbar; opacity: 0 // 绑定到ListView组件 propert...

2018-11-11 11:40:53 2640 0

转载 QML应用程序的性能考虑与建议

QML 应用程序的性能考虑与建议 原文:csdn aidear_evo QtQml应用程序的性能考虑与建议 本文翻译自Qt官网文档:http://doc.qt.io/qt-5/qtquick-performance.html 时间考虑 作为一名程序开发者,应该努力使渲染引擎的刷新率维持...

2018-08-27 09:53:31 1576 0

转载 Qt之JSON生成与解析

简述 Qt5 中包含了处理 JSON 的类,均以 QJson 开头(例如:QJsonDocument、QJsonArray、QJsonObject),在 QtCore 模块中,不需要额外引入其它模块。 常用的 JSON 库 json.org 中介绍了 JSON 在各种语言中的应用,在 C/C...

2018-07-18 13:29:25 659 0

转载 QTextEdit 当中添加图片的几种方式

方式一QTextEdit *textEditor = new QTextEdit(0); QTextDocumentFragment fragment; fragment = QTextDocumentFragment::fromHtml("<img src='C...

2018-06-23 17:46:45 4544 0

原创 QML之自定义Qt Quick Controls 2

http://doc.qt.io/qt-5/qtquickcontrols2-customize.html

2018-06-23 16:30:34 863 0

转载 WebRTC的拥塞控制和带宽策略

网络的波动带来的卡顿直接影响着用户的体验,在WebRTC中设计了一套基于延迟和丢包反馈的拥塞机制(GCC)和带宽调节策略来保证延迟、质量和网路速度之间平衡,本文中重点是介绍基于trendline滤波的评估模型。本文来自学霸君资深架构师袁荣喜和萍乡学院辛锋的投稿,并由LiveVideoStack全文...

2018-05-29 14:30:53 6068 1

原创 libevent学习之七:Reactor模式

       学习libevent有助于提升程序设计功力,除了网络程序设计方面外,libevent的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等,都有助于提升自身的程序功力。       程序设计不止要了解框架,很多细节之处恰恰也是事关整个系统成...

2018-05-24 15:54:58 969 0

原创 C++笔试题之两个线程轮流(交替)打印A和B

这里使用C++11的线程语法来实现,一个线程打印A,一个线程打印B,交替进行。#include <thread> #include <iostream> #include <mutex> #include &...

2018-05-21 16:28:02 6040 1

原创 C++11新特性之十一:emplace

emplace操作是C++11新特性,新引入的的三个成员emlace_front、empace 和 emplace_back,这些操作构造而不是拷贝元素到容器中,这些操作分别对应push_front、insert 和push_back,允许我们将元素放在容器头部、一个指定的位置和容器尾部。两者的区...

2018-05-21 12:22:21 641 0

原创 C++11并发学习之六:线程池的实现

首先感谢github上大神的分享:https://github.com/progschj/ThreadPool代码非常的见解,只有一个头文件ThreadPool.h,这里贴出来作为备份。#ifndef THREAD_POOL_H #define THREAD_POOL_H #include &a...

2018-05-19 15:31:15 11918 14

原创 Effective C++笔记之十五:inline函数的里里外外

1.inline函数简介inline函数是由inline关键字来定义,引入inline函数的主要原因是用它替代C中复杂易错不易维护的宏函数。2.编译器对inline函数的处理办法inline对于编译器而言,在编译阶段完成对inline函数的处理。将调用动作替换为函数的本体。但是它只是一种建议,编译...

2018-05-18 18:40:38 211 0

原创 Effective C++笔记之十四:以pass-by-reference-to-const替换pass-by-value

       缺省情况下C++ 以by value方式(一个继承自C 的方式)传递对象至(或来自)函数。函数参数都是以实际实参的复件(副本)为初值。这些复件(副本)系由对象的copy构造函数产出,这可能使得pass-by-value成为昂贵的(费时的)操作。考虑以下class 继承体系:class...

2018-05-18 17:25:23 156 0

原创 Effective C++笔记之十三:以独立语句将newed对象置入智能指针

        假设我们有个函数用来揭示处理程序的优先权,另一个函数用来在某动态分配所得的Widget 上进行某些带有优先权的处理:int priority () ; void processWidget(std::trl::shared_ptr<Widget> p...

2018-05-18 17:04:43 141 0

原创 Effective C++笔记之十二:成对使用new和delete时要采取相同形式

       以下动作有什么错?std::string* stringArray = new std::string[100]; ...... delete stringArray;        每件事看起来都井然有序。使用了new,也搭配了对应的delete。但还是有某样东西完全错误...

2018-05-18 16:31:05 151 0

原创 Effective C++笔记之十一:复制对象时勿忘其每一个成分

       设计良好之面向对象系统(OO-systems )会将对象的内部封装起来,只留两个函数负责对象拷贝(复制),那便是带着适切名称的copy构造函数和copy assignment操作符,我称它们为copying 函数。编译器会在必要时候为我们的classes创建copying 函数,并说...

2018-05-18 16:10:22 153 0

原创 Effective C++笔记之十:令operator= 返回一个reference to *this

       关于赋值,有趣的是你可以把它们写成连锁形式:int x, y, z;x = y = z = 15; // 赋值连锁形式       同样有趣的是,赋值采用右结合律,所以上述连锁赋值被解析为:x = (y = (z = 15));       这里15 先被赋值给z,然后其结果(更新后...

2018-05-18 15:26:43 150 0

原创 Effective C++笔记之九:绝不在构造和析构过程中调virtual函数

       本条款开始前我要先阐述重点2:你不该在构造函数和析构函数期间调用virtual函数,因为这样的调用不会带来你预想的结果,就算有你也不会高兴。如果你同时也是一位Java 或C# 程序员,请更加注意本条款,因为这是C++ 与它们不相同的一个地方。       假设你有个class 继承体...

2018-05-18 15:17:59 174 0

原创 C++笔试题之判断链表中是否有环,并计算环的长度

       判断链表中是否有环最经典的方法就是快慢指针,同时也是面试官大多想要得到的答案。       快指针pf(f就是fast的缩写)每次移动2个节点,慢指针ps(s为slow的缩写)每次移动1个节点,如果快指针能够追上慢指针,那就说明其中有一个环,否则不存在环。       这个方法的时间...

2018-05-18 14:35:31 1496 0

原创 C++笔试题之实现单链表两两反转(置换)

两两反转单链表就是把每两个数反转一次。如:A -> B -> C ->D -> E -> F两两反转后变为 B -> A -> D ->C -> F -> E...

2018-05-18 13:22:39 1177 0

原创 递归函数内部的执行顺序

#include <stdio.h> void fun(int n) { printf("1th - Level: %d Address: %d\n", n, &n); if(n &lt...

2018-05-18 12:39:41 10850 1

原创 C++笔试题之回旋(螺旋)矩阵

回旋矩阵,顾名思义,就是从外圈数字由小到大旋转到内圈的N阶矩阵。2阶回旋矩阵1  24  33阶回旋矩阵1  2  3 8  9  4 7  6  54阶回旋矩阵  1   2   3   412  13  14  5     11  16  15  6      10   9   8   7一....

2018-05-17 17:16:50 2794 0

转载 OpenGL之glPolygonMode函数的用法

1.绘制模式在绘制多边形时除了默认的填充方式,还可以使用点和线使用glPolygonMode函数来设置模式三种不同模式下的绘图 GL_FILL GL_LINEGL_POINT2.多边形的两面如果以顺时针绘制则是反面,逆时针绘制则是正面 // 设置正面为填充模式 glPolygonMode(GL_F...

2018-05-17 14:41:07 8784 0

原创 Qt5版NeHe OpenGL教程之十:飘动的旗帜

这一课将把如下图片做成一个飘动的旗帜,其实主要还是用到了纹理映射。lesson10.h#ifndef LESSON10_H #define LESSON10_H #include <QWindow> #include <QOpenGLFunctions_...

2018-05-17 14:19:17 698 0

原创 Qt5版NeHe OpenGL教程之九:加载3D世界,并在其中漫游

这一课就要解释一个基本的3D世界"结构",以及如何在这个世界里游走。lesson9.h#ifndef LESSON9_H #define LESSON9_H #include <QWindow> #include <QOpenGLFu...

2018-05-17 11:01:20 1163 1

原创 Qt5版NeHe OpenGL教程之八:3D空间中移动图像

       欢迎进入第八课。到现在为止,您应该很好的理解OpenGL了。您已经学会了设置一个OpenGL窗口的每个细节。学会在旋转的物体上贴图并打上光线以及混色(透明)处理。       这一课应该算是第一课中级教程。您将学到如下的知识:在3D场景中移动位图,并去除位图上的黑色象素(使用混色)。...

2018-05-16 19:05:22 452 0

原创 Qt5版NeHe OpenGL教程之七:混色

简单的透明       OpenGL中的绝大多数特效都与某些类型的(色彩)混合有关。混色的定义为,将某个象素的颜色和已绘制在屏幕上与其对应的象素颜色相互结合。至于如何结合这两个颜色则依赖于颜色的alpha通道的分量值,以及/或者所使用的混色函数。Alpha通常是位于颜色值末尾的第4个颜色组成分量。...

2018-05-15 19:37:47 564 0

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