自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lzgy的博客

学习交流

  • 博客(60)
  • 收藏
  • 关注

原创 QML的事件处理 信号和槽

概述信号和槽作为 Qt 的核心机制,在 Qt 编程中有着广泛的应用。同样,QML 也继承了这样的特性 - 信号和信号处理程序 ,只不过叫法上略有不同。信号:来自 QML 对象的通知。信号处理程序:由信号触发的表达式(或函数),也被称为 Qt C++ 中的 “槽”。信号是事件,信号通过信号处理程序来响应。当一个信号被发射时,相应的信号处理程序就会被调用,在处理程序中放置逻辑(例如:脚本或其他操作)以允许组件响应事件。自定义信号槽的声明与使用signal <name>[([<t

2021-04-19 22:54:24 575

原创 在 QML 中使用 C++ 类和对象

概述QML和C++对象之间可通过信号槽,属性修改等机制进行通信.对于一个C++对象,任何暴露在Qt的元对象系统中的数据–属性,信号,槽和使用Q_INVOKABLE标记的方法都可在QML中访问.在QML端,所有QML对象的数据都可在Qt元对象系统和C++中访问.调用函数所有的QML函数都被暴漏在了元数据系统中,并可通过QMetaObject::invokeMethod()调用.C++应用程序调用QML函数:// MyItem.qml import QtQuick 1.0 Item {

2021-04-19 21:57:49 733

原创 C++ 中的 :: 和 :操作符

1.冒号(:)用法(1) 位域的定义(即该变量占几个bit空间)typedef struct _XXX{ unsigned char a:4; //char型的字符a占4位 unsigned char c; } XXX;(2) 构造函数后面的冒号起分割作用,是 类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。(3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个

2021-02-19 22:10:21 251

原创 Vue3 - Composition API (组合式API - 其余部分)

Composition APIshallowReactive只处理了对象内最外层属性的响应式(也就是浅响应式)shallowRef只处理了value的响应式, 不进行对象的reactive处理shallowrReadonly只保证最外层属性为只读<template> <h2>shallowReactive & shallowRef</h2> <h3>shallowReactive : 只处理了对象内最外层属性的响应

2021-01-30 14:39:24 252

原创 Vue3 - Composition API (组合式 API - 常用部分)

Composition API解决: 传统的option api (选项式)配置方法写组件的时候问题,随着业务复杂度越来越高,代码量会不断的加大;由于相关业务的代码需要遵循option的配置写到特定的区域,导致后续维护非常的复杂,同时代码可复用性不高.提供了一下几个函数: setup ref reactive watchEffect computed toRefs 生命周期的hooks ...setup:所有的组合API函数都在此使用, 只在初始化时执行一次

2021-01-25 14:38:26 1022

原创 Vue3 - 初步认识&创建项目

相关了解:Vue3 支持 Vue2的大多数特性更好的支持 Typescript性能提升:打包大小减少41%初次渲染快55%, 更新渲染快133%内存减少54%使用Proxy代替defineProperty实现数据响应式重写虚拟DOM的实现和Tree-Shaking新增特性:Composition (组合) APIsetup ref 和 reactive computed 和 watch 新的生命周期函数 provide与inject ...

2021-01-25 12:11:26 99

原创 TS - typescript 泛型

泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。实例// 功能: 根据指定的数量 count 和数据 value, 创建一个包含 count 个 value 的数组 不用泛型的话,这个函数可能是下面这样:function createArray(value: any, count: number): any[] { const arr: any[] = [] for (let index = 0; index < count;

2021-01-21 17:01:57 502

原创 TS - typescript 函数(function)

函数函数是 JavaScript 应用程序的基础,它帮助你实现抽象层,模拟类,信息隐藏和模块。在 TypeScript 里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。TypeScript 为 JavaScript 函数添加了额外的功能,让我们可以更容易地使用。基本示例为函数定义类型可以给每个参数添加类型之后再为函数本身添加返回值类型。TypeScript 能够根据返回语句自动推断出返回值类型。// 下面是js的方式:// 命名函数function add(x, y

2021-01-21 11:18:03 3546

原创 TS - typescript 类(class)

类对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来的。 从 ECMAScript 2015,也就是 ES6 开始, JavaScript 程序员将能够使用基于类的面向对象的方式。使用 TypeScript,我们允许开发者现在就使用这些特性,并且编译后的 JavaScript 可以在所有主流浏览器和平台上运行,而不需要等到下个 JavaScript 版本。

2021-01-20 18:42:49 622

原创 TS - typescript 接口(interface)

接口TypeScript 的核心原则之一是对值所具有的结构进行类型检查。我们使用接口(Interfaces)来定义对象的类型。接口是对象的状态(属性)和行为(方法)的抽象(描述)接口类型的对象: 多了或者少了属性是不允许的可选属性: ?只读属性: readonly// 定义人的接口interface IPerson { readonly id: number // 只读属性:一旦赋值后再也不能被改变了。 name?: string // 可选属性 age: number

2021-01-20 16:54:37 964

原创 TS - typescript 基础数据类型

// 不多说,上代码// main.ts -> 编译tsc main.ts -> 运行node main.js(()=>{// 基础类型:... 不许用其他类型数据改变当前变量类型// 布尔值,数字,字符串,undefined 和 null let num1:number = 1 let str1:string = "3" console.log(num1); console.log(str1); console.log(num1+

2021-01-20 11:11:47 294

原创 TS - typescript 快速上手

TypeScript 的介绍TypeScript是一种由微软开发的开源、跨平台的编程语言。它是JavaScript的超集,最终会被编译为JavaScript代码。2012年10月,微软发布了首个公开版本的TypeScript,2013年6月19日,在经历了一个预览版之后微软正式发布了正式版TypeScriptTypeScript的作者是安德斯·海尔斯伯格,C#的首席架构师。它是开源和跨平台的编程语言。TypeScript扩展了JavaScript的语法,所以任何现有的JavaScrip

2021-01-18 17:34:53 566

原创 JS - 异步操作(Promise+then 和 async+await)

Promise想了解Promise可传送至:Promiseasync+await想了解Promise可传送至:async+await用法举例://async 函数(包含函数语句、函数表达式、Lambda表达式)会返回一个 Promise 对象,如果在函数中 return 一个直接量,async 会把这个直接量通过 Promise.resolve() 封装成 Promise 对象。async function testAsync() { return "Hello Async!"

2021-01-15 15:17:32 3133

原创 Nodejs - fs模块

fs模块fs文件系统用于对系统文件及目录进行读写操作。文档地址:fs常用方法:const fs = require('fs');// 检测目录或文件fs.stat('./package.json', (err, data) => { if (err) { console.log(err); return; } console.log(`是文件:${data.isFile()}`); console.log(`是目录:${

2021-01-14 16:55:30 97

原创 Node.js - http模块 、 url模块 和 querystring模块

http模块Node.js 可以做到不借助 Apache、Nginx 等来搭建 HTTP 服务器,Nodejs提供了http模块,自身就可以用来构建服务器。文档地址:HTTP搭服务器:创建 app.js文件;命令行运行:node app.js;打开浏览器输入:http://127.0.0.1:8081/// app.jsvar http = require('http');var url = require('url');http.createServer(function(requ

2021-01-13 14:17:58 314

原创 Electron - 菜单(项) 和 网络

菜单创建原生应用菜单和上下文菜单。进程:主进程菜单项添加菜单项到应用程序菜单和上下文菜单中进程:主进程文档地址:菜单、菜单项使用例子:// 可放在窗口加载完成代码后...// mainWindow.loadFile('index.html')...// 一般不在主进程里使用菜单 // setTimeout(() => { // const template = [{ // label: '第一项', //

2021-01-11 21:46:50 200

原创 Electron - 系统快捷键 和 主进程、渲染进程间的通信

系统快捷键在应用程序没有键盘焦点时,监听键盘事件。进程:主进程globalShortcut 模块可以在操作系统中注册/注销全局快捷键, 以便可以为操作定制各种快捷键。文档:系统快捷键使用:const { app, globalShortcut } = require('electron')app.whenReady().then(() => { // Register a 'CommandOrControl+X' shortcut listener. const ret =

2021-01-11 14:35:45 287

原创 Electron - 对话框

对话框显示用于打开和保存文件、警报等的本机系统对话框。进程:主进程这个对话框从Electron主线程打开。 如果你想要从一个渲染线程使用对话框对象,记得通过remote去访问它。const { dialog } = require(‘electron’).remoteconsole.log(dialog)文档地址:对话框方法:dialog.showOpenDialogSync([browserWindow, ]options)Returns String[] | undefined

2021-01-10 17:40:29 778 2

原创 Electron - BrowserWindow 和 BrowserView类

Class: BrowserWindow创建和控制浏览器窗口。进程:主进程BrowserWindow 是一个EventEmitter.通过 options 可以创建一个具有原生属性的 BrowserWindow 。new BrowserWindow([options])options详情看文档:BrowserWindow// main.js...const mainWindow = new BrowserWindow({ width: 800, heig

2021-01-09 14:59:49 1992

原创 Electron - window.open() 函数 和 BrowserWindowProxy 类

window.open() 函数window.open(url[, frameName][, features])参数:url StringframeName String(可选)features String(可选)返回值:Returns BrowserWindowProxy - 创建一个新窗口,并返回一个 BrowserWindowProxy 类的实例。注意:features 字符串遵循标准浏览器的格式,但每个 feature 必须是BrowserWindow 选项中的字段。fea

2021-01-09 14:10:38 555

原创 Electron - webview 标签

webview标签文档地址: webview 标签在一个独立的 frame 和进程里显示外部 web 内容。使用 webview 标签在Electron 应用中嵌入 “外来” 内容 (如 网页)。"外来"内容包含在 webview 容器中。 应用中的嵌入页面可以控制外来内容的布局和重绘。注意:By default the webview tag is disabled in Electron >= 5. 在构造 BrowserWindow 时,需要通过设置 webviewTag webPre

2021-01-08 15:05:07 861

原创 Node.js - Commonjs模块化

自学笔记。

2020-11-23 21:06:32 151

原创 Electron - Process进程对象、File对象

进程对象文档地址: https://www.electronjs.org/docs/api/process可以获得系统参数,比如内存,系统版本,进程ID等等。在renderer.js中写页面的JS代码,为了使用process对象和require等,需要在main.js文件中,创建窗口时,在webPreferences中配置 nodeIntegration: true 项。// main.jsconst mainWindow = new BrowserWindow({ width:

2020-11-17 22:49:55 375

原创 Electron - 常用api事件

app常用事件文档地址:http://electronjs.org/docs/allready: 当Electron完成初始化时被触发window-all-closed: 所有窗口被关闭before-quit: 在应用程序开始关闭窗口之前触发will-quit: 当所有窗口都已关闭并且应用程序将退出时发出quit: 在应用程序退出时发出webContents常用事件文档地址: https://www.electronjs.org/docs/api/web-contentsdid-fi

2020-11-17 19:20:09 866

原创 Electron - 跨平台桌面应用程序开源库简单介绍

介绍Electron 是由Github开发,用HTML,CSS和Javascript来构建跨平台桌面应用程序的一个开源库。Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。官网Electron代码官网例子运行git clone https://github.com/electron/electron-quick-start.gitcd electron-quick-startnpm i

2020-11-17 11:19:42 410

原创 C++模板

此文档记录来源于黑马程序员C++ 核心教程.

2020-11-09 20:09:15 97

原创 绪论 - 通信原理

一般原理信息 -> 物理载体 -> 传送 -> 物理载体 -> 信息以电信号为物理载体的通信系统信源信道

2020-10-19 09:50:34 74

原创 C++ 类的静态成员

引言:有时类需要它的一些成员与类本身直接相关,而不是与类的各个对象保持关联。例如,一个银行账户可能需要一个数据成员来表示当前的基准利率。此时我们就期望利率与类关联,没必要每个对象都存储利率信息。而且一旦利率浮动,我们希望所有的对象都能使用新值。声明静态成员变量:成员前加关键字:static。静态成员可以是public 或 private的。类型可以是常量、指针、引用、类类型等。静态成员函数也不与任何对象绑定,它们不包含this指针。因此,不能声明为const 的,而且也不能在static 函数体内

2020-10-16 12:48:31 174

原创 C++ constexpr类型

constexpr 变量C++11 规定,允许将一个变量声明为 constexpr 类型以便有编译器来验证变量的值是否是一个常量表达式。常量表达式: 值不会改变且在编译过程就得到计算结果的表达式。如: 字面值(加 const)、常量表达式初始化的 const对象。const int max_files = 20; // 是.const int limit = max_files + 10; // 是int file_size = 20; // 不是constexpr 变量必须是常量,且

2020-10-16 12:47:20 329

原创 C++构造函数、析构函数、拷贝构造函数

构造函数构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来主动调用它,构造函数会在对象被建立时自动被调用的。作用就是用来处理对象的初始化操作。注意事项:①、构造函数的名字必须与类名同名,不能随意命名,这样的话才能让编译器认为该函数是构造函数,而不是类的普通成员函数;②、构造函数不具有任何类型,不返回任何值,连 void 都不是;③、构造函数不需要用户调用,也不应该被用户调用,它是对象建立的时候自动被系统调用,用来初始化刚刚建立的对象的;④、如果用户没有定义自己的类的构造函数,那么系

2020-10-15 23:16:46 227

原创 C++ 的字符串类 string

简述:string 是C++ STL 标准模板库提供的,所以其与C++中的各种输入输出,各种容器等都是兼容适配的,使用起来非常方便。使用:#include <string>using namespace std; // 在 std 标准命名空间中...int main(){ string str1; string str2("abcd"); string str3(6, 'a'); // 6个字符 a 初始化str3对象 cout << str2 <&lt

2020-10-15 17:52:36 137 1

原创 C++ 的函数分文件编写

分为四步:创建 .h 的头文件;创建 .cpp 的源文件;在头文件写函数声明;在源文件写函数定义。栗子:数值交换函数 void swapInt(int, int);// swapInt.hvoid swapInt (int a, int b);// swapInt.cpp#include <iostream>#include "swapInt.h"using namespace std;void swapInt (int a, int b){ int temp

2020-10-15 13:30:43 250

转载 PB9核心之——数据窗口对象的使用

转载: 原文作者: fhthkm原文链接实现我们首先先看下具体的实现效果,在界面上我们点击添加,可以自动添加一行,我们只要手动输入即可,同样删除的话,选择某行直接删除即可。实现的过程是首先添加数据窗口对象,然后与数据库中的表进行关联,同时对数据窗口进行设置,设置完成后将数据窗口对象与界面上的DataWindow控件进行绑定,我们通过图片来看下具体的过程。1.选择要添加的数据窗口对象的风格2.选择何种方式连接数据源3.选择数据库中的表与数据窗口对象进行绑定4.对数据窗口进行设置,设

2020-07-26 21:35:51 1679

转载 pb数据窗口控件OLE

OLE自动化是不同应用程序之间进行通讯的一个标准。OLE自动化的工作方式是:通讯被动方(OLE服务器)应用程序向通讯主动方(OLE客户机)应用程序提供一个以上可供其调用的OLE自动化对象类型,OLE客户机通过引用这些对象实现对OLE服务器的调用,然后通过设置对象的属性和使用对象的方法操纵OLE服务器应用程序,完成两者之间的通讯。Powerbuilder7.0是一个完全支持OLE自动化的应用程序开发工具。使用POWERBUILDER7.0,既可以编制做为OLE服务器的应用程序,也可以编制作为OLE客户机.

2020-07-12 22:30:19 1465

原创 js面试题, 函数提升, 变量提升,综合测试

**栗子:**:function foo() { getName = function () { alert(1); } return this;} foo.getName = function () { alert(2); };foo.prototype.getName = function () { alert(3); };var getName = fu...

2020-03-27 12:29:58 675

原创 同步IO、异步IO、阻塞IO、非阻塞IO

同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;异步是指用户线程发起IO请求后仍继续执行(直接返回),当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。阻塞和非阻塞的概念描述的是用户线程调用内核IO操作的方式:阻塞是指IO操作需要彻底完成后才返回到用户空间;非阻塞是指IO操作被调用后立即...

2020-03-05 11:09:41 271

原创 货币格式化(过滤器)

代码// 价格金额格式化 (github: vuex --> demo --> shopping-cart -->currency.js)const digitsRE = /(\d{3})(?=\d)/g// value: 传入的值; currency: 货币符号; decimals小数位数;export function currency (value, currenc...

2020-03-03 14:53:30 376

原创 CSS3的transition属性

遗忘时翻看用.

2020-03-02 11:08:40 140

原创 js的一些数组方法

find()方法主要用来返回数组中符合条件的第一个元素(没有的话,返回undefined)filter()方法主要用来筛选数组中符合条件的所有元素,并且放在一个新数组中,如果没有,返回一个空数组map()方法主要用来对数组中的元素调用函数进行处理,并且把处理结果放在一个新数组中返回(如果没有返回值,新数组中的每一个元素都为undefined)forEach()方法也是用...

2020-02-08 12:55:02 79

原创 JS this指向的简单理解

先来个小栗子<script> var name = "全局的name"; var a = { name : "a函数中的name", say: function () { console.log(this.name); } } ...

2019-12-18 22:35:37 102

空空如也

空空如也

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

TA关注的人

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