- 博客(34)
- 资源 (3)
- 收藏
- 关注
原创 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 1524
原创 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 6971 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 932
原创 将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 820
原创 windeployqt.exe
将自己写的exe文江拖到windeployqt.exe上时,windeployqt.exe会将自己的exe的依赖都复制到本目录下,这时候得到的就完整的可执行程序发布集合,依赖关系都解决好
2020-11-09 15:59:56 136
原创 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 3410 5
原创 设计模式20-单例模式
1. 描述一个类在进程中只能存在一个实例,保证唯一性。2. 特点1) 全局只有一个对象2)提供外界访问这个对象的接口。3)实例对象只能单例类自己创建,外界不能创建,这个说明这个类的构造是私有的。3.示例#include "stdafx.h"#include <iostream>using namespace std;class Singleton...
2020-03-03 21:02:27 98
原创 设计模式19-组合模式
1.描述将一种对象组合成树状层次结构的模式。2.优点1)对树上的对象处理一致。2)可以容易在组合内加入新的对象,而不改源代码3.缺点1)对树的逻辑需要树立清楚。2)不容易使用继承的方法增加功能。4.结构1)抽象构件:树叶和树枝的抽象类。2)树叶构件:没有子节点。3)树枝构件:管理树叶构件。5.UML6.示例...
2020-02-20 18:31:19 1406
原创 设计模式18-备忘录模式(快照模式)
1. 描述捕捉一个对象的状态,在以后能够通过捕捉的状态恢复对象的状态。2.优点1)能够恢复历史.(可以和原型模式一块使用)。3.缺点保存对象多了,占内存。4.结构1)发起人:被备份者,提供备忘录信息。2)备忘录:保存和提供发起人内部状态3)备忘录管理者:对备忘录进行保存和获取功能。5.UML6.示例#include "stdafx.h"#in...
2020-02-19 15:29:44 418
原创 设计模式17-适配器模式
1.描述对类继承或者将类封装为变量,使类接口能够被使用。可以分为类适配器和对象适配器。类适配器是对适配器继承已有的类;对象适配器是适配器将已有的类作为成员变量。这是就是两种适配器的写法2.优点1)想用功能又不能直接使用的时候,通过适配器能够调用;2)复用原类,增加功能等,不需要改原先代码。3.缺点更换适配器复杂4.结构1)适配器2)被适配类5.UML...
2020-02-19 10:50:54 125
原创 16.设计模式-状态模式
1. 描述一个对象想内部状态类改变时,允许改变其行为。就是把一个对象的状态改到一系列状态类中,在状态类中控制条件判断、状态改变。2. 特点1) 将状态的行为都封装都状态类中,不同的状态不同的类。2)状态转化条件在状态类中,不会出现状态随意变换的问题。3) 可拓展性性强。3.缺点状态的越多,类越多4.结构1)上下文:维护当前状态。2)抽象状态:定义封装状态变化...
2020-02-17 19:25:33 145
原创 设计模式15-抽象工厂模式
1. 描述抽象工厂模式就是一个抽象类(抽象工厂)定义一组接口(返回一组产品),2. 简单工厂、多态工厂和抽象工厂的区别1) 简单工厂:1个工厂根据条件生产多个产品2) 多态工厂:多个工厂依赖一个抽象,每个工厂生产1个产品3) 抽象工厂:多个工厂,依赖一个抽象;每个工厂生产多个产品(1组产品),每个产品依赖1个抽象。由此可见,简单工厂,堕胎工程,和抽象工厂是依次优化的关系。...
2020-02-17 17:38:34 151
原创 设计模式14-观察者模式(发布-订阅模式)
1. 描述一个对象状态改变引起其他对象自动更新。2. 特点1)目标和观察者建立了触发机制,目标被触发,观察者们做出相应处理。2)通过目标和观察者抽象对象进行调用,降低了耦合关系。3. 缺点1) 存在循环调用的风险2)观察者多事,更新时间会变久,影响程序效率。、4. 结构1)抽象目标2)具体目标:触发该改变,调用观察者更新状态。3)抽象观察者4)具体观...
2020-02-13 17:59:58 249
原创 设计模式13-建造者模式
目录1. 描述2. 特点3. 缺点4.要素5.UML6. 示例1. 描述将构造和表示分离,构造过程一样,但是构造结果不一样。2. 特点1) 过程确定,但是构造细节可以变化,将细节隔离出去,有利于系统的拓展2) 客户端不必要迟到内部组成细节,控制细节风险3. 缺点1)过程确定4.要素1) 产品:对建造成果的展示。2)抽象建造者:3)...
2020-02-12 18:36:59 101
原创 设计模式12-多态工厂模式
1.描述工厂模式是简单工厂模式的优化,将简单工厂中静态创建对象方法拆分为一个对象一个工厂类。2.优点1)解决简单工厂中违背开放封闭原则,简单工厂中添加新对象需要修改简单工厂中case,在多态工厂中是添加新产品的工厂和新产品类,没有对已有的代码进行修改。2)工厂不是简单工厂有静态方放不可继承,可继承,实现多态和可拓展。3.缺点新增产品都会增加产品工厂类,增加了系统的复杂程度。...
2020-02-09 10:49:55 267
原创 设计模式11-代理模式
1. 描述添加一个中间类,中间类可以访问另一个对象和扩展另一个对象功能。2.作用1) 中间类以保护对象嘛,限制对象的访问2) 可以扩展对象功能3) 客户端和目标对象分离,降低系统耦合。3.结构1)抽象类:定义代理和对象接口2)真实对象:实现抽象类中的方法3)代理:引用真实对象,调用对象方法4. UML...
2020-02-08 17:35:35 134
原创 设计模式10-装饰模式
1. 描述不该变原有对象的代码,动态的给对象增加新的功能。装饰可以看成一条功能扩展链。新加的节点为前面的节点拓展功能。2.优点1)扩展对象功能更加灵活2)不同的装饰类可以随意组合3. 缺点装饰子类多,并且注意顺序的装饰。4. 结构1)抽象构件:主要定义抽象接口,子类实现装饰职责2)具体构件:装饰的原型,装饰链的起点。3)抽象装饰:4)具体装饰5....
2020-02-08 17:10:22 119
原创 设计模式9-七大原则总结
开放封闭原则:开发总纲接口隔离原则:接口功能单一依赖倒转原则:面向接口编程单一职责原则:类的功能单一合成复用原则:类的组合聚合里氏替换原则:类的继承最少知识原则:类耦合降低两接四类一总纲。...
2020-02-07 10:47:35 127
原创 设计模式8-迪米特法则
7迪米特法则(最少知识原则)7.1 描述减少类之间的交互,减少类之间的耦合,类之间的通过第三个类去交互。7.2 优点1)降低类之间的耦合2)提高了类的复用率和拓展性。3)和依赖倒转的不同时,同级类之间不通信。依赖倒转是上层调用细节的父类来减少依赖。7.3 缺点产生大量中间类,增加系统的复杂性,降低通信效率。7.4 设计原则依赖者只依赖应该依赖的对象被依...
2020-02-07 10:20:16 142
原创 window10 安装虚拟机遇到的问题
遇到问题1:无法连接虚拟设备 stata 0:1虚拟机-》设置-》硬盘-》高级-》选择stata0:1遇到问题2:打开虚拟机后黑屏现象: 通过虚拟机缩略图可以看到虚拟机已经启动,但是点击屏幕后,是黑的。解决办法:使用管理员身份打开cmd输入“netsh winsock reset” 回车如果有安全卫士禁止,一定要允许操作。重启。...
2020-02-07 09:31:39 151
原创 设计模式8-合成复用原则
6. 合成复用原则6.1 描述多用聚合组合少用继承。和里氏替换原则相辅相成。将已有的对象(也可称为成员对象)纳入到新对象中使之成为新对象的一部分,因此新对象可以调用已有对象的功能,这样做可以使得成员对象的内部实现细节对于新对象不可见,所以这种复用又称为“黑箱”复用》。6.2 优点合成聚合解决继承中需要修改父类才能解决新问题的方法。6.3 总结里氏替换是不让修改继承的父类,合...
2020-02-06 17:31:05 142
原创 设计模式7-接口隔离原则
5. 接口隔离原则5.1 描述将庞大的接口拆分更小的接口,在接口类中只包含客户端想要的方法。5.2 和单一职责的区别1). 单一职责注重的单一变化,但是解耦隔离注重的是减少客户端对不必要接口的依赖。2.) 单一职责约束的是类,根据不同的职责将类拆分多个类;接口约束的是接口,将一个接口拆分多个接口,将一个接口类,拆分多个接口类。5.3 优点1) 接口颗粒度小,外部变更减少...
2020-02-06 17:01:11 124
原创 设计模式6-依赖倒转原则
4. 依赖倒转原则(面向接口编程)4.1 描述上层和细节都只依赖抽象类或者接口类。将代码分了三层:上层,细节和接口层4.2 优点1)减少类之间的耦合性,减少上层和细节的依赖2)提高系统稳定性4.3 注意依赖倒转就是面向抽象、面向接口编程。#include "stdafx.h"#include <iostream>//1. 接口层class ...
2020-02-06 16:17:12 103
原创 设计模式5-里氏代换原则
3. 里氏代换原则(子类可以替换父类)3.1 描述任何基类出现的地方,子类都可以出现,子类可以拓展。这就是正确使用继承的原则。3.2 优点降低继承带来的入侵性,降低耦合性。3.3 方法1) 子类必须实现父类的抽象方法,但不覆盖父类的非抽象方法。2) 子类可以增加自己特有的方法3 ) 子类重载父类的方法时候,方法的形参要更加宽松4) 子类实现父类的抽象方法是,...
2020-02-06 15:46:53 119
原创 设计模式4-开放封闭原则
2. 开放封闭原则2.1 描述可以增加功能,但是不修改已有的代码。所有他由两层含义,开发和封闭。2.3 优点1) 封闭原则提高代码稳定行,不修改已有的代码,减少系统功能的影响,减少功能的测试性。2)开放原则提高复用性,开放原则需要考虑功能扩展。3) 开放封闭能够降低需求变化带来的不良影响2.4 实现方法1) 封闭不变的提取抽象层,封装接口。一个稳定的接口很重要。...
2020-02-06 11:34:50 175
原创 设计模式3-设计模式原则-单一职责
面向对象的三个特征:封装,继承,多态。面向对象的优点:易扩展,易维护,可复用,灵活性好。七大原则1. 单一职责原则1.1 描述类职责单一,一个类只有一个引起变化的原因。解决了修改职责引起其他职责故障的风险。1.2 优点1) 功能单一,将类的复杂性。2 )可读性强,提高系统的维护性3) 变更引起的风险降低,一个类职责变变更,不会引起其他类职责出现问题。1....
2020-02-06 11:21:39 124
原创 设计模式2-策略模式
定义策略模式定义了一组算法,算法可以相互替换。策略三要素:上下文,策略父类,策略子类策略模式和简单工厂模式的区别:简单工厂模式只负责生成对象,生成的对象再调用方法。而策略模式方法的调用封装在上下文中,不允许重复调用,减少了调用耦合。特点1. 算法切换2. 上下文作用使封装子类的方法,防止上层直接调用子类方法,这也是和简单工厂类的主要区别。缺点具体的策略类多并且暴露在...
2020-02-05 17:36:56 138
原创 设计模式1-简单工厂
定义工厂类通过不同的参数返回不同的实例对象。有三要素:工厂类,实例父类,和实例子类。简单工厂模式简单来说就是通过参数创建对象的一种方式。特点1. 工厂类是一个单例2. 实例对象继承同一个父类,通过一个虚函数去实现自己业务3. 很好的体现了封装继承和多态,使业务代码逻辑松耦合。缺点工厂类集成了所有实例对象的逻辑,不宜扩展,负担过重,但是可以考虑通过配置文件优化。...
2020-02-05 16:03:16 141
原创 常用linux命令
常用的有10个,一共大约有200个。区分大小写1. 常用命令序号命令对应英文作用1lslist查看当前文件夹下的内容2pwdprint wrod directory查看当前所在文件夹路径3cd + 目录change directory切换文件夹4touch + 文件名touch如果文件不存在,新建文件5mkdir ...
2018-10-31 22:19:16 102
原创 linux主要目录速查表
/:根目录/bin; /usr/bin : 可执行文件的目录/boot : 系统启动的文件/dev : 设备文件,访问目录某个文件,相当于访问某个设备。/ etc :系统配置文件存放的目录/home :系统默认的用户家目录。用户自己的文件夹。/lib 、/usr/lib 、/usr/local/lib : 系统使用的函数库目录/lost + fount : 光盘默认挂载点/mnt...
2018-10-31 08:16:12 243
原创 常识
1. 不同领域的操作系统1&gt; 桌面操作系统(windows,macOS,linux)服务器操作系统(linux(免费),windowserver(付费))嵌入式操作系统(linux)移动设备操作系统(ios, android( linux))2.虚拟机虚拟机:通过软件模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统...
2018-10-31 08:06:02 116
原创 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 324
原创 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 309
qt嵌入cef示例和交互
2020-11-19
yu-writer makedown编辑工具
2018-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人