自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 QtCharts 组织结构

2020-12-31 16:42:28 393

原创 cef调用js中的同步回调函数

学习上篇文章后,在js中可以调用cef的方法。js的回调注册就是通过将js的方法通过window绑定的方法注册到cef中的。方法的调用是需要等待的,是同步的。1. cef声明注册函数register首先根据上个博客方法相同,在cef中构建一个register方法。注册函数的第一个参数是回调方法,后面需要通过这个回调方法执行方法。bool CV8JsHandler::Execute(const CefString& funcName, CefRefPtr<Cef

2020-11-19 11:05:35 1429

原创 cef和js相互调用方法

1 cef调用jsCefFrame::ExecuteJavaScript执行JavaScript() 函数。但是这个方法没有返回值。c++: std::list<CefRefPtr<CefBrowser> > cefBrowerList = m_browserEvent->getCefBrowerList(); CefRefPtr<CefBrowser> Browser = cefBrowerList.back(); CefRefP...

2020-11-19 10:37:35 6366 1

原创 qt + cef 中使用qwebchannel C++和js通信

qwebchannelqt使用qwebchannel与js实现了双向异步通信,在每一个信息发送之后,信息发送函数即退出执行上下文栈,并不会为了等待消息响应而阻塞当前任务队列。有两种方法:1. 通过Qwebengine,实现与本地加载的js通信,他的通信是进程内的通信。2. 通过websocket,实现与本地js或者远端的js通信。他的同时是进程间的通信。示例在qtcreator中搜索webchannel,使用Qt WebChannel Standalone Example演示示例。

2020-11-13 14:16:07 848

原创 将cefsimple在Qt中实现

编译libcef_dll_wrapper因为Qt是动态库调用形式,所以需要将libcef_dll_wrapper属性的运行库设置位多线程 DLL (/MD),如果是debug设置多线程调试 DLL (/MDd),然后编译。我在使用debug版的时候出现了几个无法解决问题,所以我这里编译的是release版,什么问题在最后会阐述。构建cef的qGUI工程1)新建QBrowser界面工程2)将cef的include文件夹拷贝到QBrowser工程下,设置属性-》C/C++->常规-》附

2020-11-11 15:54:56 742

原创 windeployqt.exe

将自己写的exe文江拖到windeployqt.exe上时,windeployqt.exe会将自己的exe的依赖都复制到本目录下,这时候得到的就完整的可执行程序发布集合,依赖关系都解决好

2020-11-09 15:59:56 110

原创 Qt + CEF3 环境搭建

1. 编译环境windows10 + qt5.14.2 + VS2017 + cef windows-642. Qt嵌入浏览器方法对比2.1 QAxObject2.1.1 描述com/ocx组件等组件开发,因为是此方式只针对微软的组件才有效,所以只能在windows下开发。2.1.2 操作系统要求不夸平台,只能再windows下使用2.1.3 优点2.1.4 缺点2.1.5 总结不可以用来加载第三方的应用程序,不跨平台,不使用。2.2 Qt + Minibli

2020-11-09 15:57:34 3013 5

原创 设计模式20-单例模式

1. 描述一个类在进程中只能存在一个实例,保证唯一性。2. 特点1) 全局只有一个对象2)提供外界访问这个对象的接口。3)实例对象只能单例类自己创建,外界不能创建,这个说明这个类的构造是私有的。3.示例#include "stdafx.h"#include <iostream>using namespace std;class Singleton...

2020-03-03 21:02:27 71

原创 设计模式19-组合模式

1.描述将一种对象组合成树状层次结构的模式。2.优点1)对树上的对象处理一致。2)可以容易在组合内加入新的对象,而不改源代码3.缺点1)对树的逻辑需要树立清楚。2)不容易使用继承的方法增加功能。4.结构1)抽象构件:树叶和树枝的抽象类。2)树叶构件:没有子节点。3)树枝构件:管理树叶构件。5.UML6.示例...

2020-02-20 18:31:19 1358

原创 设计模式18-备忘录模式(快照模式)

1. 描述捕捉一个对象的状态,在以后能够通过捕捉的状态恢复对象的状态。2.优点1)能够恢复历史.(可以和原型模式一块使用)。3.缺点保存对象多了,占内存。4.结构1)发起人:被备份者,提供备忘录信息。2)备忘录:保存和提供发起人内部状态3)备忘录管理者:对备忘录进行保存和获取功能。5.UML6.示例#include "stdafx.h"#in...

2020-02-19 15:29:44 383

原创 设计模式17-适配器模式

1.描述对类继承或者将类封装为变量,使类接口能够被使用。可以分为类适配器和对象适配器。类适配器是对适配器继承已有的类;对象适配器是适配器将已有的类作为成员变量。这是就是两种适配器的写法2.优点1)想用功能又不能直接使用的时候,通过适配器能够调用;2)复用原类,增加功能等,不需要改原先代码。3.缺点更换适配器复杂4.结构1)适配器2)被适配类5.UML...

2020-02-19 10:50:54 95

原创 16.设计模式-状态模式

1. 描述一个对象想内部状态类改变时,允许改变其行为。就是把一个对象的状态改到一系列状态类中,在状态类中控制条件判断、状态改变。2. 特点1) 将状态的行为都封装都状态类中,不同的状态不同的类。2)状态转化条件在状态类中,不会出现状态随意变换的问题。3) 可拓展性性强。3.缺点状态的越多,类越多4.结构1)上下文:维护当前状态。2)抽象状态:定义封装状态变化...

2020-02-17 19:25:33 126

原创 设计模式15-抽象工厂模式

1. 描述抽象工厂模式就是一个抽象类(抽象工厂)定义一组接口(返回一组产品),2. 简单工厂、多态工厂和抽象工厂的区别1) 简单工厂:1个工厂根据条件生产多个产品2) 多态工厂:多个工厂依赖一个抽象,每个工厂生产1个产品3) 抽象工厂:多个工厂,依赖一个抽象;每个工厂生产多个产品(1组产品),每个产品依赖1个抽象。由此可见,简单工厂,堕胎工程,和抽象工厂是依次优化的关系。...

2020-02-17 17:38:34 128

原创 设计模式14-观察者模式(发布-订阅模式)

1. 描述一个对象状态改变引起其他对象自动更新。2. 特点1)目标和观察者建立了触发机制,目标被触发,观察者们做出相应处理。2)通过目标和观察者抽象对象进行调用,降低了耦合关系。3. 缺点1) 存在循环调用的风险2)观察者多事,更新时间会变久,影响程序效率。、4. 结构1)抽象目标2)具体目标:触发该改变,调用观察者更新状态。3)抽象观察者4)具体观...

2020-02-13 17:59:58 205

原创 设计模式13-建造者模式

目录1. 描述2. 特点3. 缺点4.要素5.UML6. 示例1. 描述将构造和表示分离,构造过程一样,但是构造结果不一样。2. 特点1) 过程确定,但是构造细节可以变化,将细节隔离出去,有利于系统的拓展2) 客户端不必要迟到内部组成细节,控制细节风险3. 缺点1)过程确定4.要素1) 产品:对建造成果的展示。2)抽象建造者:3)...

2020-02-12 18:36:59 76

原创 设计模式12-多态工厂模式

1.描述工厂模式是简单工厂模式的优化,将简单工厂中静态创建对象方法拆分为一个对象一个工厂类。2.优点1)解决简单工厂中违背开放封闭原则,简单工厂中添加新对象需要修改简单工厂中case,在多态工厂中是添加新产品的工厂和新产品类,没有对已有的代码进行修改。2)工厂不是简单工厂有静态方放不可继承,可继承,实现多态和可拓展。3.缺点新增产品都会增加产品工厂类,增加了系统的复杂程度。...

2020-02-09 10:49:55 221

原创 设计模式11-代理模式

1. 描述添加一个中间类,中间类可以访问另一个对象和扩展另一个对象功能。2.作用1) 中间类以保护对象嘛,限制对象的访问2) 可以扩展对象功能3) 客户端和目标对象分离,降低系统耦合。3.结构1)抽象类:定义代理和对象接口2)真实对象:实现抽象类中的方法3)代理:引用真实对象,调用对象方法4. UML...

2020-02-08 17:35:35 96

原创 设计模式10-装饰模式

1. 描述不该变原有对象的代码,动态的给对象增加新的功能。装饰可以看成一条功能扩展链。新加的节点为前面的节点拓展功能。2.优点1)扩展对象功能更加灵活2)不同的装饰类可以随意组合3. 缺点装饰子类多,并且注意顺序的装饰。4. 结构1)抽象构件:主要定义抽象接口,子类实现装饰职责2)具体构件:装饰的原型,装饰链的起点。3)抽象装饰:4)具体装饰5....

2020-02-08 17:10:22 96

原创 设计模式9-七大原则总结

开放封闭原则:开发总纲接口隔离原则:接口功能单一依赖倒转原则:面向接口编程单一职责原则:类的功能单一合成复用原则:类的组合聚合里氏替换原则:类的继承最少知识原则:类耦合降低两接四类一总纲。...

2020-02-07 10:47:35 108

原创 设计模式8-迪米特法则

7迪米特法则(最少知识原则)7.1 描述减少类之间的交互,减少类之间的耦合,类之间的通过第三个类去交互。7.2 优点1)降低类之间的耦合2)提高了类的复用率和拓展性。3)和依赖倒转的不同时,同级类之间不通信。依赖倒转是上层调用细节的父类来减少依赖。7.3 缺点产生大量中间类,增加系统的复杂性,降低通信效率。7.4 设计原则依赖者只依赖应该依赖的对象被依...

2020-02-07 10:20:16 119

原创 window10 安装虚拟机遇到的问题

遇到问题1:无法连接虚拟设备 stata 0:1虚拟机-》设置-》硬盘-》高级-》选择stata0:1遇到问题2:打开虚拟机后黑屏现象: 通过虚拟机缩略图可以看到虚拟机已经启动,但是点击屏幕后,是黑的。解决办法:使用管理员身份打开cmd输入“netsh winsock reset” 回车如果有安全卫士禁止,一定要允许操作。重启。...

2020-02-07 09:31:39 130

原创 设计模式8-合成复用原则

6. 合成复用原则6.1 描述多用聚合组合少用继承。和里氏替换原则相辅相成。将已有的对象(也可称为成员对象)纳入到新对象中使之成为新对象的一部分,因此新对象可以调用已有对象的功能,这样做可以使得成员对象的内部实现细节对于新对象不可见,所以这种复用又称为“黑箱”复用》。6.2 优点合成聚合解决继承中需要修改父类才能解决新问题的方法。6.3 总结里氏替换是不让修改继承的父类,合...

2020-02-06 17:31:05 123

原创 设计模式7-接口隔离原则

5. 接口隔离原则5.1 描述将庞大的接口拆分更小的接口,在接口类中只包含客户端想要的方法。5.2 和单一职责的区别1). 单一职责注重的单一变化,但是解耦隔离注重的是减少客户端对不必要接口的依赖。2.) 单一职责约束的是类,根据不同的职责将类拆分多个类;接口约束的是接口,将一个接口拆分多个接口,将一个接口类,拆分多个接口类。5.3 优点1) 接口颗粒度小,外部变更减少...

2020-02-06 17:01:11 103

原创 设计模式6-依赖倒转原则

4. 依赖倒转原则(面向接口编程)4.1 描述上层和细节都只依赖抽象类或者接口类。将代码分了三层:上层,细节和接口层4.2 优点1)减少类之间的耦合性,减少上层和细节的依赖2)提高系统稳定性4.3 注意依赖倒转就是面向抽象、面向接口编程。#include "stdafx.h"#include <iostream>//1. 接口层class ...

2020-02-06 16:17:12 75

原创 设计模式5-里氏代换原则

3. 里氏代换原则(子类可以替换父类)3.1 描述任何基类出现的地方,子类都可以出现,子类可以拓展。这就是正确使用继承的原则。3.2 优点降低继承带来的入侵性,降低耦合性。3.3 方法1) 子类必须实现父类的抽象方法,但不覆盖父类的非抽象方法。2) 子类可以增加自己特有的方法3 ) 子类重载父类的方法时候,方法的形参要更加宽松4) 子类实现父类的抽象方法是,...

2020-02-06 15:46:53 98

原创 设计模式4-开放封闭原则

2. 开放封闭原则2.1 描述可以增加功能,但是不修改已有的代码。所有他由两层含义,开发和封闭。2.3 优点1) 封闭原则提高代码稳定行,不修改已有的代码,减少系统功能的影响,减少功能的测试性。2)开放原则提高复用性,开放原则需要考虑功能扩展。3) 开放封闭能够降低需求变化带来的不良影响2.4 实现方法1) 封闭不变的提取抽象层,封装接口。一个稳定的接口很重要。...

2020-02-06 11:34:50 150

原创 设计模式3-设计模式原则-单一职责

面向对象的三个特征:封装,继承,多态。面向对象的优点:易扩展,易维护,可复用,灵活性好。七大原则1. 单一职责原则1.1 描述类职责单一,一个类只有一个引起变化的原因。解决了修改职责引起其他职责故障的风险。1.2 优点1) 功能单一,将类的复杂性。2 )可读性强,提高系统的维护性3) 变更引起的风险降低,一个类职责变变更,不会引起其他类职责出现问题。1....

2020-02-06 11:21:39 98

原创 设计模式2-策略模式

定义策略模式定义了一组算法,算法可以相互替换。策略三要素:上下文,策略父类,策略子类策略模式和简单工厂模式的区别:简单工厂模式只负责生成对象,生成的对象再调用方法。而策略模式方法的调用封装在上下文中,不允许重复调用,减少了调用耦合。特点1. 算法切换2. 上下文作用使封装子类的方法,防止上层直接调用子类方法,这也是和简单工厂类的主要区别。缺点具体的策略类多并且暴露在...

2020-02-05 17:36:56 116

原创 设计模式1-简单工厂

定义工厂类通过不同的参数返回不同的实例对象。有三要素:工厂类,实例父类,和实例子类。简单工厂模式简单来说就是通过参数创建对象的一种方式。特点1. 工厂类是一个单例2. 实例对象继承同一个父类,通过一个虚函数去实现自己业务3. 很好的体现了封装继承和多态,使业务代码逻辑松耦合。缺点工厂类集成了所有实例对象的逻辑,不宜扩展,负担过重,但是可以考虑通过配置文件优化。...

2020-02-05 16:03:16 106

原创 常用linux命令

常用的有10个,一共大约有200个。区分大小写1. 常用命令序号命令对应英文作用1lslist查看当前文件夹下的内容2pwdprint wrod directory查看当前所在文件夹路径3cd + 目录change directory切换文件夹4touch + 文件名touch如果文件不存在,新建文件5mkdir ...

2018-10-31 22:19:16 78

原创 linux主要目录速查表

/:根目录/bin; /usr/bin : 可执行文件的目录/boot : 系统启动的文件/dev : 设备文件,访问目录某个文件,相当于访问某个设备。/ etc :系统配置文件存放的目录/home :系统默认的用户家目录。用户自己的文件夹。/lib 、/usr/lib 、/usr/local/lib : 系统使用的函数库目录/lost + fount : 光盘默认挂载点/mnt...

2018-10-31 08:16:12 212

原创 常识

1. 不同领域的操作系统1&amp;gt; 桌面操作系统(windows,macOS,linux)服务器操作系统(linux(免费),windowserver(付费))嵌入式操作系统(linux)移动设备操作系统(ios, android( linux))2.虚拟机虚拟机:通过软件模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统...

2018-10-31 08:06:02 88

原创 MakeDown工具

1.下载https://download.csdn.net/download/qq_29067097/10573347不必注册,可以免费使用的编辑工具2.Markdown语法,快捷键技巧CTRL+1  H1大号字体CTRL+2 H2大号字体Ctrl+B 粗体 B-bold缩写ctrl + U 无序列表 U-ul Unordered List(无序列表)的缩写。Ctrl +...

2018-07-30 22:22:46 298

原创 boos 1.67

目录1.下载2.得到源代码之后,使用vs2017的cl.exe编译3.建立编译工具4.指定编译命令(最费时间)5.开始使用boost1.下载从http://www.boost.org上下载到目前最新的boost库:https://www.boost.org/users/history/version_1_67_0.html中的boost_1_67_0.zip2.得到...

2018-07-30 22:18:34 266

qt嵌入cef示例和交互

cef3嵌入qt界面的示例,包括源代码和运行环境。编译环境是vs2017+qt1.14.2. 源码内容包括,嵌入百度,qt和js交互,cef和js交互(window绑定和扩展)。这是我学习两周后总结的源码示例。

2020-11-19

makeDownPad

解析md文件,最好用的makedown软件之一。装机必备,开发必备,写软件博客必备

2020-11-19

yu-writer makedown编辑工具

无论是写作、办公、笔记还是撰写各类文档,除了用 Office Word 排版以外,现在更流行的就是用 Markdown 写作了。因为 MD 语法简洁高效,排版不易分心,能让人更专注写作本身。 所以,一款趁手的 Markdown 编辑器就显得非常重要了。我们曾推荐过 Typora、iA Writer、MarkdownX 都各有特色。而最近遇到的一款国产跨平台的 MD 文本编辑器新秀—— Yu Writer,又给我们带来了不一样的感受! Yu Writer 是一款值得推荐的国产 Markdown 文本编辑器新秀!它跨平台支持 Win、macOS、Linux 甚至是树莓派。拥有精美舒适外观设计的同时,其功能方面也显得相当的丰富成熟。尽管目前还仅处于开发阶段的尝鲜版,但并不妨碍它拥有作为主力编辑器使用的实力。

2018-07-30

空空如也

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

TA关注的人

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