Evnet

QT中父子窗口事件传递与事件过滤器

穿精又带淫゛_ 提交于 2020-10-25 07:56:44
 处理监控系统的时候遇到问题,在MainWidget中创建多个子Widget的时候,原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理,但调试后发现如果子Widget重新实现了事件方法,就直接处理掉事件了,没有进到MainWidget的处理方法中去,如果子Widget没有accept或ignore该事件,则该事件就会被传递给其父亲,在子Widget存在accept或ignore事件的时候,想要经过一下MainWidget的处理方法,就得用到事件处理器,因此网上找了一下,发现QT的事件处理器可以处理。   QT将事件封装为QEvent实例以后,会呼叫QObject的event()方法,并且将QEvent实例传送给它,在某些情况下,希望在执行event()之前,先对一些事件进行处理或过滤,然后再决定是否呼叫event()方法,这时候可以使用事件过滤器。   可以重新定义一个继承自QObject(或其子类)的类的eventFilter()方法, bool FilterObject::eventFilter(QObject *object, QEvent *event) {   if(event->type() == QEvent::KeyPress)   {     QKeyEvent *keyEvent = static_cast<QKeyEvent *>

MySQL 的主从复制(高级篇)

老子叫甜甜 提交于 2020-04-19 21:29:16
首先要明白为什么要用 mysql 的主从复制: 1–在从服务器可以执行查询工作 (即我们常说的读功能),降低主服务器压力;(主库写,从库读,降压) 2–在从主服务器进行备份,避免备份期间影响主服务器服务;(确保数据安全) 3–当主服务器出现问题时,可以切换到从服务器。(提升性能) 来说一下主从复制的实现原理 mysql 复制过程分为三步(如上图所示): 1.mster 将改变记录到二进制日志 (binary log) 当中 这些记录过程叫做二进制日志事件 binary log events; 2.slave 将 master 的 binary log events 拷贝到它的中继日志 (relay log) 当中; 3.slave 重做中继日志中的事件 将改变应用到自己的数据库当中 mysql 复制是异步的且串行化的 3.slave 重做中继日志中的事件 将改变应用到自己的数据库当中 mysql 复制是异步的且串行化的 复制的最大问题: 从主机复制数据达到从机可能会有延时! 都说 master 主机和 slave 从机的 mysql 版本号要一致 我就没一致 master 主机上是 5.6 slave 从机上是 5.7 一样搞 拿过来一台服务器你不得先找 mysql 吗?mysql 在哪里 配置文件在哪里? 执行命令: which mysql /usr/bin/mysql -

深入浅出Vue实例事件方法(简单易学)

本秂侑毒 提交于 2020-04-17 14:05:25
【推荐阅读】微服务还能火多久?>>> 简介 大家好,我是六六。今天分析关于Vue实例事件相关的方法。与事件相关的实例方法有四个,vm.$on,vm.$emit,vm.$once,vm.$off。这四个方法都挂载到Vue的prototype属性上,接下里我们详细的讲一讲: 目录 vm.$on vm.$once vm.$off vm.$emit 总结 1. vm.$on vm.$on( event, callback ) 参数: {string | Array} event (数组只在 2.2.0+ 中支持) {Function} callback 用法: 监听当前实例上的自定义事件。事件可以由 vm.$emit 触发。回调函数会接收所有传入事件触发函数的额外参数。 示例: vm. $on ( 'test' , function (msg) { console.log(msg) }) vm. $emit ( 'test' , 'hi' ) // => "hi" 复制代码 实现: 其实通过用法我们就知道,可以先把事件的回调函数先收集起来,等到事件触发时,我们从收集的回调函数取出来执行就好了。所以,我们就需要一个对象来存储这些回调函数。事实上,在执行new Vue()时,Vue会执行this._init进行一系列初始化工作,其中就会在实例上创建一个_events属性

第三期:如何通过知晓云处理微信卡券消息

陌路散爱 提交于 2020-03-25 19:33:27
3 月,跳不动了?>>> 作者: 知晓云 - 小程序开发快人一步 来源:知晓课堂 知晓云新推出「消息推送」功能,该功能通过「消息推送」类型的触发器接收微信推送过来的消息,开发者可以对此消息实行相关操作。 此教程将带领大家体验这个新功能, 实现一个「微信消息推送」类型的触发器 。 该触发器将会在消费者核销微信优惠券的时候触发,并调用一个云函数。调用的云函数会将核销的相关信息保存在一个特定的数据表中,由此来记录公众号卡券的使用情况。 一、开通知晓云消息推送功能 知晓云控制台 -> 设置 -> 小程序,拉到最底找到「消息推送」,点击 立即开通,即可开通消息推送功能: 开通之后需要将消息推送的相关配置项配置到小程序或者公众号后台,此教程为实现接收微信卡券核销事件的消息的功能,所以需要将配置项配置到公众号后台。 进入公众号后台 点击开发->基本配置->服务器配置,同步配置成知晓云消息推送的相关配置,完成配置后,微信消息推送类型的触发器方可使用。 知晓云配置项 微信公众平台配置项 二、创建云函数 后面我们会创建一个动作类型为「云函数」的触发器,所以我们需要先创建一个云函数,供触发器使用。 现在我们创建一个云函数,用于用户在核销卡券的事件触发时调用该云函数操作数据表,将微信推送过来的核销的相关数据保存到相关到表中。 云函数 user_consume_card.js,tableID 必须是已存在

前端百问

馋奶兔 提交于 2020-03-08 19:58:41
问:如何理解 html 标签语义化? html5 新出的标签,每个标签都有自己语义,什么标签做什么事。让人看的懂,也让机器可以看的懂,利于 SEO 。 问: css 权重是什么? 设置节点样式的方式有很多种,不同的方式它们的权重并不相同,当它们给一个节点设置同一个样式时,谁的权重高谁就生效。 important :无限高 行内样式:权重值为 1000 id 选择器:权重值为 100 类、伪类、属性选择器:权重值为 10 元素选择器:权重值为 1 问:盒模型有几种,它们区别是什么? 标准盒模型:设置的宽高只是包括内容区,内边距和边框另算。 怪异盒模型:设置的宽高包含了内边距和边框。 使用 box-sizing 属性设置: border-box :怪异盒模型、 content-box :标准盒模型。 问:什么是 BFC ? 块级格式上下文,一句话来说就是让块级元素有块级元素该有的样子,触发 BFC 可以清除浮动、让 margin 不重叠。 问:如何触发 BFC ? float 的值不为 none 。 overflow 的值不为 visible 。 display 的值为 table-cell 、 table-caption 和 inline-block 之一。 position 的值不为 static 或 releative 中的任何一个。 问:你常用的清除浮动方式是什么?