自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luoyayun361的专栏

GitHub地址:github.com/luoyayun361

  • 博客(311)
  • 资源 (35)
  • 论坛 (1)
  • 收藏
  • 关注

原创 解决谷歌浏览器不能打开Axure原型的问题

前言产品给的原型图打不开?在谷歌浏览器打开Axure原型时出现以下画面:其实该页面已经描述了解决方案,需要安装一个插件,但是下载插件需要翻墙才行,要不然就只能干瞪眼了。离线安装1.首先下载离线的插件文件,在这里下载2.下载完后解压3.打开谷歌浏览器-更多工具-扩展程序4.页面右上角 打开“开发者模式”5.点击“加载已解压的扩展程序”6.选择刚刚解压出来的目录就ok了,如下7.重新打开原型文件,大功告成。...

2021-04-21 23:26:35 89

原创 Coding:C++类定义实现部分成员函数

class String{public: String(const char *str = nullptr);//通用构造函数 String(const String &other); //拷贝构造函数 ~String(); String & operator() =(const String &rhs); //赋值函数private: char *m_data;};String::String(const char *str).

2021-04-19 23:43:12 12

原创 C++之仿函数简介

概述仿函数(Functor)又称为函数对象(Function Object),函数对象是一个对象,但是使用的形式看起来像函数调用,实际上也执行了函数调用,因而得名。仿函数的语法普通的函数调用一样,调用仿函数,实际上就是通过类对象调用重载后的operator()运算符。所以作为仿函数的类,必须重载operator()运算符。仿函数的作用:可替代函数指针,使用更加灵活可存储状态,形成一种类似...

2021-04-19 23:41:07 21

原创 C++11:move移动语义

前言我们知道移动语义是通过右值引用来匹配临时值,那么,普通的左值是否也能借助移动语义来优化性能呢,C++11为了解决这个问题,提供了std::move方法来将左值转换成右值。正文move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存拷贝。move实际上并不能移动任何东西,它只是将一个左值强制转换成一个右值引用,使我们可以通过右值引用使用该值,以用于移动语义,强制转换为右值的目的是为了方便实现移动构造。这种move语义是很有用的,比如一个对象中有一些指针资源或者动态数组,在对

2021-04-11 09:21:58 42

原创 Coding:在数组中查找具有给定总和的对

PS:没事儿做做题,预防老年痴呆~描述给定一个未排序的整数数组,找到其中有给定总和的一对数字。eg:输入:arr = [3,5,2,9,7,6,11,0] sum = 10输出:索引 0和4只要找到一对数字即可。方法一最简单也是最暴力的方法,用两个循环遍历数组,判断两个数字之和,如果符合条件则返回数组下标。该方法比较简单,但是时间复杂度为O(n^2),比较高。直接上代码,C++实现// 时间复杂度O(n^2) 空间复杂度 O(1)vector<int> find

2021-04-11 08:39:22 21

原创 Coding:从给定数字集中找到最大的数字

描述从给定数字集中找到最大的数字,这些数字应以任何顺序相互附加以形成最大的数字。比如:输入: {10,68,75,7,21,12}输出: 77568211210分析这个题不能简单的将数组降序排列然后进行组合,排序后变成 {75,68,21,12,10,7} 组合成数字就不是最大数。思路:实现自定义比较器函数,对于两个数字x和y,将其转换成字符串,然后组合起来将 xy和yx进行比较,然后较大的数字将按顺序排在最前面。比如:对于 x=10 y=68,xy = 1068,yx=6810 ,然后

2021-04-11 08:38:02 19

原创 C++11:forward及完美转发

代码using namespace std;template<typename T>void PrintT(int &t){ cout << "lvalue" << endl;}template<typename T>void PrintT(int &&t){ cout << "rvalue" << endl;}template<typename T>voi

2021-04-10 23:52:11 41

原创 Coding:就地合并两个排序数组

描述给定两个大小分别为m和n的已排序的数组x和y,通过保持排序顺序将x的元素与y的元素合并。即用前m个最小元素填充x,其余元素填充y。要求就地完成,不能创建其他数据结构。如:输入:arrX = {2,5,8,10,15};arrY = {1,6,9}; 输出:arrX = {1,2,5,6,8};arrY = {9,10,15}; 分析这个问题的麻烦点在于不能创建新的数组,智能就地完成。思路:由于数组本身已经是有序的,那么我们通过循环将x数组每个元素与y数组的第一个元素进行

2021-04-10 23:34:48 9

原创 C++最简单的方式实现split分割函数

前言C++的字符串string中没有提供分割函数,比如将字符串 “1,2,3,4” 分割成 {“1”,“2”,“3”,“4”},这个场景在编码中很常见,那么既然没有现成的,就只能自己实现咯,方法很多,可以通过循环遍历进行拆解。这里提供一个更简单的方法,代码更简洁。上代码std::vector<string> split(const string &str, const string &del){ std::regex re{ del }; return s

2021-04-10 23:30:25 32

原创 Coding:两个从大到小的有序链表合并成一个从小到大有序链表

要求请实现一个函数,把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表。struct list{ int value; list* next;};list * merge (list *list1_head, list*list2_head);代码 list *merge(list *list1_head,list *list2_head) { list *newlist = NULL; list *curr

2021-03-07 14:28:45 4

原创 Coding: 2的N次方

描述对于一个整数N(512 <= N <= 1024),计算2的N次方并在屏幕显示十进制结果。输入描述:输入一个整数N(512 <= N <= 1024)输出描述:2的N次方的十进制结果输入:512输出:1340780792994259709957402499820584612747936582059239337772356144372176403007354697680187429816690342769003185818648605085375388281194

2021-03-03 23:09:11 4

原创 Coding:用指针的方法,将字符串首尾对调输出

代码/** * 用指针的方法,将字符串首尾对调输出 * 例如:输入 "ABCD1234efghij" * 输出:jihgfe4321DCBA * */#include <stdio.h>#include <string.h>#include <dos.h>int main(){ char str[] = "ABCD1234efghij"; int length = strlen(str); char *p1 =

2021-03-03 17:20:42 2

原创 VS Code设置代码片段(C++)

前言VS Code设置代码片段,官网介绍代码片段是模板,可以快速地输入重复的代码,比如循环、条件语句、注释模板等。在vs code中代码片段会和自动提示IntelliSense(Ctrl + Space)一起出现,也出现在专用的代码片段选择器中(在“命令面板”中插入代码片段)。还支持制表符补全:使用启用它"editor.tabCompletion": “on”,键入一个代码段前缀(触发文本),然后按Tab键插入一个代码段。正文本文主要介绍如何自定义代码片段,可以选择要显示代码段的编程语言,我们这里

2021-01-26 18:18:14 162

原创 Windows访问Fedora共享文件夹

前言目的:在Fedora系统下创建共享文件夹,然后在windows中正常访问。正文安装Samba命令:dnf install samba配置1.通过samba访问Linux文件夹时,需要用户名和密码:smbpasswd -a 用户名将用户名替换成你要设置的名称,回车后会提示输入密码。2.创建一个文件夹用于共享,或者直接用现有的文件夹也可以。3.修改配置文件,将共享文件夹的信息添加进去。sudo vi /etc/samba/smb.conf然后在最后添加以下信息[shared

2021-01-26 16:19:45 90

原创 Qt6.0+vs2019环境配置

前言2020年12月8号,期待已久的Qt6.0正式发布。关于Qt6.0的更新说明,具体参考:https://wiki.qt.io/New_Features_in_Qt_6.0本文主要介绍win10下安装Qt6.0+VS2019的环境 。下载地址从Qt5.15开始,官网已经不提供离线安装包下载,只能用在线安装的方式。VS2019下载地址:https://visualstudio.microsoft.com/zh-hans/vs/Qt6.0安装器下载地址:http://download.qt.i

2021-01-04 11:45:51 1289 2

原创 C++中检查vector是否包含给定元素的几种方式

概述在编码中经常会遇到一种场景,就是要在数组或列表中查找某个元素是否存在,其实对于这种线性操作,自己实现一个循环来检查是非常简单的事情,那既然这样,为啥还要专门写篇博客来分享呢?一个最重要的原因就是我们原本就可以用更简洁直观高效的方式去替代手写for循环,这个方式就是使用C++标准库函数。再啰嗦几句。通常在面试的时候,为了考察面试者的编码功底,会让其从头实现某些基础的算法,但是在实际开发中,很多东西都有现成的封装。只有把语言、标准库“双剑合璧”才能算是真正的C++。而且据C++标准委员会的安排,今后

2020-08-15 11:04:06 4951 4

原创 听君一席话,胜读十年书

1.保持好奇心、进取心,不断学习;2.永远都有更厉害的人,保持谦卑;3.要自信,但不要盲目自信;4.刚柔并济,要有弹性。有目标计划,但不能让它成为绊脚石,世界永远是变化的,要随机应变,去适应它。找到刚和柔的那个度,要自己去感受和衡量;5.用结果说话,当你有结果的时候,过程中的问题都会被缩小,没有结果的时候,问题会被放大;6.问问自己能做什么?在没有条件,没有支持的时候,我还能做什么?7.不能改变环境,就要去适应环境,在环境中做好自己该做的事情;8.全方位发展,生活、工作、爱好、人缘,不要刻意去

2020-07-12 19:48:18 521 2

原创 随笔,聊聊最近

1很久都没有更新博客了,原计划每个月至少更新五篇,但是计划总赶不上变化。由于前段时间换了新的工作,所以这期间一直在新的公司适应,每天下班很晚,再加上上班路程也比较远,回到家已经不想再做任何事了。这期间确实也接触了一些新的知识点,一直想把这些东西记录下来,但是一直都没有动手,人都习惯放过自己吧,我也不例外。2其实这两个月以来,个人心态发生了一些微妙的变化,以前总会给自己定各种大大小小的目标, 然后把自己崩得太紧,一直处于高度集中和紧张的状态,这种情况下确实能够产出一些结果,但并不一定就是好事,毕竟,人的

2020-06-27 14:11:55 954 9

原创 Qt Creator常用快捷键及技巧提升编码效率
原力计划

前言Qt Creator是Qt官方提供的一个IDE,该软件本身也是用Qt来写的,界面简单操作便捷,并且可以快速的查看各个类的帮助文档,在编写代码过程中结合一些常用的快捷键,可以很大程度的提高开发效率,个人觉得使用会比Visio studio方便得多。我个人也是长期使用Qt Creator来编写程序,以下整理了一些自己常用的快捷键设置,若有其它更多的快捷操作,欢迎一起交流。定义触发片段我们在Q...

2020-04-10 19:52:26 1050

原创 C++面向对象设计原则详解

概述C++面向对象设计原则主要包括以下几点:依赖倒置原则开放封闭原则单一职责原则里氏替换原则接口隔离原则封装变化点原则面向接口编程原则优先使用对象组合,而不是类继承接下来详细的分析每一项原则。详细说明依赖倒置原则高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定) 。抽象(稳定)不应该依赖于实现细节(变化) ,实现细节应该依赖于抽象(稳定)。...

2020-03-29 18:04:37 509 1

原创 C/C++基础知识点(四)

文章目录37.静态变量什么时候初始化38.HTTP和HTTPS的区别39.HTTPS的优缺点40.IP地址和MAC地址的作用41.GET和POST的区别37.静态变量什么时候初始化静态变量存储在虚拟地址空间的数据段和bss段,C语言中其在代码执行之前初始化,属于编译期初始化。而C++中由于引入对象,对象生成必须调用构造函数,因此C++规定全局或局部静态对象当且仅当对象首次用到时进行构造。38...

2020-03-29 17:20:41 460

原创 C/C++基础知识点(三)
原力计划

25.STL中迭代器的作用,有指针为何还要迭代器?1.迭代器iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。由于迭代器的以上特性:与聚合对象耦合,在一定程度上限制了它的广泛运用,一般仅用于底层聚合支持类,如stl中list、vector、stack等容器类以及ostream_iterator等扩展it...

2020-03-24 19:42:06 311

原创 C/C++基础知识点(二)
原力计划

13.C++如何定义常量,常量放在内存的哪个位置?常量在C++里的定义是一个top-level const加上对象类型,常量定义必须初始化。对于局部对象,常量存放在栈区,对于全局对象,常量存放在全局/静态存储区。对于字面值常量,常量存放在常量存储区。14.const修饰成员函数的目的是什么?const修饰成员函数标明函数调用不会对对象作出任何更改,事实上,如果确认不会对对象做更改,就应该为函...

2020-03-22 20:50:01 369

原创 C/C++基础知识点(一)
原力计划

1.static关键字的作用全局静态变量:在全局变量前加上关键字static,就定义成一个全局静态变量。作用域:全局静态变量在声明它的文件之外是不可见的。局部静态变量:在局部变量之前加上static,局部变量就变成局部静态变量。作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域结束。但是当局部静态变量离开作用域后,不会销毁,会一直在内存中,只不过不能再进行访问,直到该函...

2020-03-22 19:14:44 724

原创 MQTT连接阿里云IoT(四)

概述前一篇文章我们介绍了设备密钥的认证方式,那么这里重点来看如何通过Qt的HTTP接口来实现一型一密动态注册的流程。一型一密动态注册【官网介绍】直连设备使用一型一密动态注册的流程:在物联网平台预注册设备,并获取产品证书(ProductKey和ProductSecret)。预注册设备时,可以使用设备的MAC地址或SN序列号等作为DeviceName。在控制台开启设备所属产品的动态注册开...

2020-03-18 13:41:37 1167 3

原创 MQTT连接阿里云IoT(三)

概述上一篇文章介绍了如何通过TCP方式让MQTT连接到阿里云IOT,并附带了代码。设备接入物联网平台之前,需通过身份认证。目前,物联网平台支持使用设备密钥、ID²和X.509证书进行设备身份认证。那么,今天来看一下阿里云IOT身份认证方式的其中一种,设备密钥认证。设备密钥认证【官网介绍】在创建产品时,认证方式选择为设备密钥,设备接入物联网平台时,需使用密钥进行身份认证。物联网平台使用P...

2020-03-17 19:14:15 1800

原创 MQTT连接阿里云IoT(二)
原力计划

概述上一篇文章介绍了如何在阿里云物联网平台创建产品和设备,那么今天就来看看如何用MQTT连接到阿里云IOT。

2020-03-16 19:32:08 1941

原创 对求助者说声抱歉~

大实话写博客多年,对于学习的一些关键知识点喜欢做个记录,便于自己后期的回顾,久而久之就形成了一种习惯,接着把博客当成一种笔记形式,所以这些年越来越活跃在这上面,每个月总会抽点时间把一些新东西或者值得记录的点通过自己的理解留存下来。我的博客风格比较简洁,由于我自己不太喜欢看那种长篇大论的文章,所以我自己在写东西的时候就会尽量的让每一篇都做得简洁明了,如果内容太多的我会分成几篇来描述,这样就保持每...

2020-03-15 22:24:22 701 10

原创 MQTT连接阿里云IoT(一)

概述上一篇文章我们介绍了MQTT连接的服务器,那么今天我们重点来看如何将MQTT连接到阿里云物联网(IoT)服务器,从而进行消息传递。要连接阿里云物联网服务器,先必须在阿里云平台上创建产品和设备,然后获取到设备的相关信息,才能在将MQTT连接到我们定义的设备上,这样就可以很直观的在服务器上看到我们的客户端分布以及上传的消息详情了。那么,这里我们先介绍r如何阿里云平台上创建产品和设备。入口...

2020-03-09 18:44:45 2634

原创 Qt MQTT之服务器介绍

概述前几篇文章分别介绍了MQTT的基本用法,如下:MQTT–物联网(IoT)消息推送协议Qt开发MQTT(一) 之Qt官方Qt MQTTQt开发MQTT(二) 之第三方QMQTT我们已经知道MQTT是一种构建于TCP/IP协议的"轻量级"消息传输协议,它基于发布/订阅(publish/subscribe)模式。那么,既然是传输协议,而且基于发布/订阅,那就一定有一个服务器,将消息推送给服...

2020-03-07 21:07:16 2467

原创 Qt开发MQTT(二) 之第三方QMQTT

概述上一篇文章已经介绍了Qt官方提供的MQTT封装的使用方式,除此之外,还有另外一个第三方的公司也提供了针对MQTT的Qt封装接口,其使用方式都差不多,只是接口名称有些变化,这里也简单的介绍一下,可以根据个人喜好来选择使用那种方式。官网地址:https://www.emqx.io/cn/下载编译EMQ也提供了源码供大家下载使用,地址在这里我们将源码下载后进行编译,编译过程和上一篇文章...

2020-03-06 19:35:58 3663 3

原创 Qt开发MQTT(一) 之Qt官方Qt MQTT

概述Qt开发MQTT程序有两种方式,一个是Qt官方提供的基于MQTT的封装,一个是第三方(EMQ)开发的用于Qt调用MQTT的接口,二者使用方法大同小异,并且均提供了源码。那么,这里先来介绍第一种,如基于Qt官方提供的封装来使用MQTT。Qt官方虽然在2017年就已经提供了对MQTT的封装,但是并没有正式加入到Qt的标准库里面,所以需要自己下载源码进行编译。Qt官方介绍文档地址:https:...

2020-03-05 22:35:31 12444 23

原创 MQTT--物联网(IoT)消息推送协议

简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种构建于TCP/IP协议的"轻量级"消息传输协议,它基于发布/订阅(publish/subscribe)模式,由IBM在1999年发布。对于需要较小代码占用空间或网络带宽有限的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。基于这些优点,MQTT已成为物联网智能...

2020-03-05 22:34:06 1435

转载 Qt 6的Qt 3D会是什么样?

翻译自What about Qt 3D in Qt 6?原文作者:Sean Harmer在Qt 6中,我们希望可以在很多方面对Qt 3D进行改进,本文将着重介绍几个主要方向:渲染器工作缓存和现代图形API的支持,如Vulkan、Metal和DirectX 12。渲染器缓存Qt 3D的运行是基于两种现有的数据结构:Scene Graph-描述场景的内容;Frame Graph-描述渲染...

2020-02-27 08:03:05 1804

转载 Qt 3D的未来展望

原文作者:Sean Harmer翻译:Richard Lin如您所知,Qt推出了名为Qt Quick 3D的全新模块,它基于QML API为Qt Quick增加了3D绘图能力(预计在Qt 6提供C++ API)。这对Qt 3D有什么影响,未来在Qt世界中它又该如何定位呢?希望本文以及后续文章可以解答这一问题,同时能深入介绍我们对Qt 3D正在进行的改进。本文将聚焦在Qt 5.x中即将发布的...

2020-02-26 19:54:28 782

原创 GitLab添加SSH Keys并连接(windows)

概述要使用git连接到GitLab上并克隆代码下来,如果初次使用,需要先在GitLab中添加SSH Keys,否则无法下载。那么,在windows下该如何操作呢,这里做个详细的步骤记录。生成keys首先,打开git的命令行窗口,输入:ssh-keygen -t rsa -C “xxxx.com”, 其中,引号内是你的邮箱地址,在显示如下的输出后一直按回车即可:然后会在C盘用户目录下有个...

2020-02-25 18:26:06 1007 1

原创 Qt 实现钢笔画线效果详细原理

前言上一篇文章:Qt 实现画线笔锋效果详细原理,根据这篇介绍的实现笔锋效果的原理,我们很容易实现另外一种笔效:钢笔。所谓的钢笔笔效,就是真实还原钢笔书写出来的线条效果,其特征就是:根据笔的绘制速度而线条的宽度会逐渐变化,写得越快,线条越细,并且在收笔时带有笔锋效果。那么,在上一篇文章的基础上,稍微修改一下,就可以实现这个效果,看下效果图:实现原理从上一篇文章我们知道,绘制的曲线是通...

2020-02-16 13:08:58 1625 1

原创 Qt 实现画线笔锋效果详细原理

前言之前写过一篇文章介绍Qt中绘制平滑曲线的两种方式,文章在这里。这篇文章详细介绍了绘制的原理和实现方式,那么,如果要在此曲线上实现笔锋效果怎么做呢?所谓的笔锋效果,就是钢笔书写抬笔时的笔尖,也就是说,绘制曲线抬笔时形成一个笔尖的效果。话不多说,直接来看效果:动画效果如下:实现原理要实现该效果,需要完成以下几个关键步骤:1.每两个点形成一个贝塞尔曲线path进行绘制2.最新的...

2020-02-14 17:37:43 3089 6

原创 注定不平凡的2020年

1现在是2020年1月31号,农历正月初七,1月的最后一天。原本是今天开工上班,但是由于新型肺炎的影响, 目前还蜗居在家里,不敢出门。推迟到正月十六才正式开工,但是即便到了公司,也不可能立马就能干活。所以,之前的一切工作计划,终于还是打乱了。2这是上班以来最长的一个春节假期,但也是最无聊的一个假期,谁都想不到,竟然是以这种方式延长了这个特殊的节假日。每天打开电视,滚动的新闻播报病情;...

2020-01-31 13:33:50 8893 12

原创 Qt Marketplace

前言2019年12月2号,Qt发布了MarketPlace,这对于Qt开发者来说是一个非常重磅的消息。在过去的一年中,Qt MarketPlace一直在建设中,在伟大的社区帮助下,推出了第一套出色的扩展,包括:Qt Creator插件,工具和模块。Qt MarketplaceQt Marketplace(即:Qt 市场)是 Qt 社区推出的一个创新平台,它是Qt有用扩展的全面集合,为开发...

2019-12-21 17:58:25 1053 1

Qt MQTT简单示例Demo

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种构建于TCP/IP协议的"轻量级"消息传输协议,它基于发布/订阅(publish/subscribe)模式,由IBM在1999年发布。对于需要较小代码占用空间或网络带宽有限的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。 https://blog.csdn.net/luoyayun361/article/details/104671603

2020-03-06

Qt 使用插件(Plugins)扩展应用程序简单示例Demo

插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。

2019-09-01

Qt Mqtt连接阿里云示例

本示例用于演示 如何用MQTT连接到阿里云IOT,本文主要介绍基于TCP的MQTT连接,客户端直连。详情参加博客 https://blog.csdn.net/luoyayun361

2020-03-16

Qt Remote Object(QtRO)动态Replica实现进程间通信Demo

博客地址:https://blog.csdn.net/luoyayun361/article/details/92205562

2019-06-15

Qt C++ 动态检测优盘插入或拔出

在开发文件浏览相关应用时,会涉及到动态检测优盘插入或拔出的状态,这样可以实时的刷新界面显示。这里通过调用windows的接口来实现该检测,代码很简单。我是在Qt工程中使用的,其核心代码是一样的。

2019-03-28

Qt 鼠标/触屏绘制平滑曲线,支持矢量/非矢量方式

Qt通过鼠标或者触屏,实时绘制平滑曲线,通常有两种方式实现:矢量绘图和非矢量绘图,这两种画线方式从实现上有些不同,其原理也不太一样,稍后会做详细介绍。博客介绍:https://blog.csdn.net/luoyayun361/article/details/93650003

2019-07-10

Qt for Android简单示例

Qt for Android简单示例

2017-06-10

Qt鼠标拖动绘制基本几何图形(直线、矩形、圆形、椭圆) 并可进行拖动

用Qt鼠标事件实现基本几何图形的绘制,支持直线、矩形、圆形、椭圆。后期可以在此基础上进行扩展。使用QGraphics完成。 博客地址:https://blog.csdn.net/luoyayun361/article/details/93890331

2019-07-01

QML实现阴影字体效果

用 QML 实现阴影字体,详情见https://blog.csdn.net/luoyayun361/article/details/80687430

2018-06-14

Qt Scene graph画线和擦除

Qt Scene graph画线,并在QML中使用,相比于Canvas和QPainter的方式,在android中效果不错。亲测可用

2017-03-10

QML 发光呼吸动画字体

QML 实现发光呼吸动画字体效果

2017-08-13

QML实现酷炫的 Cover Flow 图片轮播效果(PathView)

通过 QML 的PathView来实现酷炫的 Cover Flow 图片轮播效果,http://blog.csdn.net/luoyayun361/article/details/77659386

2017-09-10

QImagePngHelper

Qt:解决使用png图片时,报错libpng warning: iCCP: known incorrect sRGB profile的问题

2017-01-15

Qt Remote Object(QtRO)进程间通信Demo

博客地址:https://blog.csdn.net/luoyayun361/article/details/91588654 Qt Remote Object简称QtRO,这是Qt5.9以后官方推出来的新模块,专门用于进程间通信(IPC)。在这之前,要实现进程间通信有多种方式,这里就不做介绍了,而Qt官方推出的这个新模块是基于Socket来封装的,使用起来非常方便,兼容LPC和RPC。LPC即Local Process Communication,而RPC是指Remote Process Communication,两者都属于IPC。QtRO能够工作于这两种不同的模式:如果用于LPC,则QtRO使用QLocalSocket;如果是用于RPC,则使用QTcpSocket。对于一个Qt开发者来说,如果项目中涉及到进程间通信,那么直接使用现成的模块进行开发, 莫过于是最好的选择,集成度高,代码量少。

2019-06-12

QML 调用 C++列表类型的属性

QML 调用 C++列表类型属性,博客地址:https://blog.csdn.net/luoyayun361/article/details/80474891

2018-05-30

axure_chrome_extension_V0.6.3.rar

谷歌浏览器插件,用于打开Axure原型

2021-04-21

Qt C++发送图片到QML显示

开发Qt应用时,想把QImage发送到QML端通过Image组件显示出来,这种场景主要用在例如在C++端调用android系统接口截图然后发送到QML端显示,或者C++端QWidget截图然后让QML界面中显示。要想实现该功能,需要用到一个重要的类QQuickImageProvider,这是专门从C++端提供图片到QML显示的。

2019-02-25

Qt UDP 广播简单示例

用 Qt 实现 UDP 简单的广播示例,通过QUdpSocket 类,这里实现两个工程,服务端和客户端,由服务器端发送广播消息到每个客户端接收显示。

2017-12-03

QML ListView实现树形二级列表(类似 android ExpandableListView控件)

QML 中没有直接提供类似 android 的ExpandableListView二级列表控件,treeView,但是用 treeView 实在是有些不方便,并且达不到想要的效果,所以干脆用 ListView 来扩展一个。

2018-08-11

QML 实现图片帧渐隐渐显轮播

QML 来实现图片帧渐隐渐显轮播,所谓图片帧渐隐渐显轮播就是,一组图片列表,当前图片逐渐改变透明度隐藏,同时下一张图片逐渐改变透明度显示,依次循环,达到渐隐渐显的效果,该效果常用于图片展示,相比左右自动切换的轮播方式来说,这种方式在视觉效果上不会显得太突兀。

2017-09-10

NSIS FindProc.dll+KillProcDLL.dll

NSIS打包时,如果有用到查找和杀死进程,所需的重要库,FindProc.dll和KillProcDLL.dll,附带拷贝说明

2019-07-26

WinVer.nsh( NSIS判断系统平台)

NSIS判断操作系统版本,&lt;version&gt; 允许的值: 95、98、ME、NT4、2000、XP、2003、Vista、2008、7、2008R2

2017-10-17

Qt for Android 启动页 splash 延时显示

网上有很多介绍都是关于 Android 原生开发上关于启动页的配置说明,大体思路都是自己创建一个启动页面,然后定定时器延时显示,几乎很少看到用 Qt 开发Android如何配置,对于一个并不太熟悉 Android原生开发者以及刚接触用 Qt 跨平台开发者来说无疑是一个比较难的问题,在研究过很多 Android 原生配置以及 Qt 的官方文档后终于找到了最简单的解决方案。

2018-08-11

Qt C++属性类型提供给 QML调用

由于QML引擎与Qt元对象系统的紧密集成,任何由QObject派生出来的类其公有的接口或属性都可以从QML代码中轻松访问,并且改动的地方很少,就可以让C++代码定义的功能轻松扩展QML

2018-05-27

Qt 控件渐变隐藏消失

原理很简单,就是设置控件的透明度,直到透明度为0后再将控件设置为隐藏即可。动画的过程可以用两种方式来实现,第一是通过定时器,不断的设置控件的透明度,第二是通过QPropertyAnimation来实现,当然,后者会更简单。那么该如何设置控件透明度呢,这里需要用到QGraphicsOpacityEffect类。更多文章请查看http://blog.csdn.net/luoyayun361/

2017-09-10

流畅的 Python 高清中文版

流畅的 Python 高清中文版,本书的目标读者是那些正在使用 Python,又想熟悉 Python3的程序员,适合有一定基础的人阅读。

2019-02-15

QML for Android通过ScreenRecorder录制屏幕并保存为本地视频

QML for Android通过ScreenRecorder录制屏幕并保存为本地视频

2017-06-23

C++设计模式--观察者模式 demo

观察者模式,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

2019-04-14

QML 中使用 C++定义的枚举类型

如果要在 QML使用 C++中定义的类型,有些数据类型是是可以直接使用的,如常见的 int,但是还有一些相对特殊的类型就需要做些特定的操作才可以使用了。 博客地址:https://blog.csdn.net/luoyayun361/article/details/85922756

2019-01-06

QML 调用 C++对象类型属性示例

介绍 QML 如何调用C++对象类型属性,博客地址:https://blog.csdn.net/luoyayun361/article/details/80471478

2018-05-29

C++工厂方法模式框架

工厂方法模式是对简单工厂模式的进一步抽象和推广,而此模式的核心思想是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用以及方便后期维护拓展的目的。博客地址:https://blog.csdn.net/luoyayun361/article/details/88653986

2019-03-19

C++简单工厂模式框架 demo

C++实现简单工厂模式,这里是一个简单的 demo框架,可以通过该用例了解简单工厂模式的代码写法。

2019-03-18

Qt封装接口 生成二维码

这是生成二维码的源码,可以直接导入Qt工程使用,封装了调用该源码的接口,直接穿入二维码显示内容即可自动生成一张二维码,调用方式见博客http://blog.csdn.net/luoyayun361/

2017-03-21

QML 调用 C++ 分组属性

QML 调用 C++分组属性,博客地址:https://mp.csdn.net/mdeditor/80504389

2018-05-30

android字库DroidSansFallback.ttf 解决QML on Android 中文显示异常

QML on Android 在小米5s手机上中文显示异常,重新设置软件调用的默认字库

2017-04-14

luoyayun361的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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