当前位置: 首页 > news >正文

网站安全建设必要性网站建设的流程分析

网站安全建设必要性,网站建设的流程分析,旅游微信网站建设,中国做国际期货最大的网站不懂事件循环怎么回事的可以看下面的文章 Qt事件循环完整流程 常规使用 定义一个窗口MainWindow ,之后在窗口里添加一个事件过滤函数eventFilter,将窗口的某一个或一些字控件安装上事件过滤器。 这种情况下MainWindow 就是pushButton11的时间过滤器&am…

不懂事件循环怎么回事的可以看下面的文章
Qt事件循环完整流程

常规使用

定义一个窗口MainWindow ,之后在窗口里添加一个事件过滤函数eventFilter,将窗口的某一个或一些字控件安装上事件过滤器。
这种情况下MainWindow 就是pushButton11的时间过滤器,所有将要传递到pushButton11的事件都是先进入过滤器MainWindow 的eventFilter函数。
mainwindow.h

#include <QMainWindow>
class MainWindow : public QMainWindow
{Q_OBJECT
protected:bool eventFilter(QObject*obj, QEvent*event)override;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include<QDebug>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{QPushButton pushButton11(this);pushButton11->installEventFilter(this);
}bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{if(obj->objectName() == QString("pushButton11")&& event->type() == QEvent::MouseButtonPress){qDebug("MainWindow eventFilter");}QMainWindow::eventFilter(obj, event);
}

此时点击打印的信息就是
MainWindow eventFilter

独立定义过滤器

过滤器其实没有特别要求一定要是UI界面或者父窗口之类的,只要是QObject对象即可,我们可以定义单独定义一个过滤器类QObjectFilter来过滤所有窗口中所有向过滤的对象的事件。这样做如果每一个小部件都安装上这个过滤器,那么这个过滤器其实就类似于QApplication::notify()函数了。
下面是一个简单示例:
在上面两个文件之外又定义一个类QObjectFilter
qobjectfilter.h

#include <QObject>
class QObjectFilter:public QObject
{Q_OBJECT
public:QObjectFilter();
protected:bool eventFilter(QObject*obj, QEvent*event)override;
};

qobjectfilter.cpp

#include "qobjectfilter.h"
#include <qevent.h>
QObjectFilter::QObjectFilter(){}bool QObjectFilter::eventFilter(QObject *obj, QEvent *e)
{if(obj->objectName() == QString("pushButton11") && e->type() == QEvent::MouseButtonPress ){qDebug("filter eventFilter");}QObject::eventFilter(obj, e);
}

不同的是,mainwindow.cpp中将按钮的过滤去换成了QObjectFilter类对象 filter,这样pushButton11所有的事件都会走QObjectFilter::eventFilter函数

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{QPushButton pushButton11(this);pushButton11->installEventFilter(&filter);
}

此时点击打印的信息就是
filter eventFilter

多重过滤器

一个空间其实可以安装多个过滤器,所有过滤器的eventFilter都可以执行(前提是不要被中断传递),执行顺序是最后安装的最新执行,例如:

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{QPushButton pushButton11(this);pushButton11->installEventFilter(&filter);ui->pushButton11->installEventFilter(this);
}

此时点击打印的信息就是
MainWindow eventFilter
filter eventFilter

http://www.yayakq.cn/news/70057/

相关文章:

  • 建网站的客户wordpress图片抓取插件
  • win7 做网站好吗网站登录界面模板html
  • 哪里有做app软件开发西安网站建设网站排名优化
  • 网站全背景做多大做电容元器件的网站有哪些
  • 开封网站建设中心河源和平县建设局网站
  • 衡水做企业网站官网制作价格
  • 上海备案证查询网站查询网站查询成都爱品阅网络科技有限公司
  • 个人怎么制作网站聚合搜索引擎入口
  • 做网站注册什么性质的公司wordpress 改语言
  • 网站开发技术要学什么软件网页设计与网站建设项目教程
  • 广州网站建设哪家技术好做淘宝网站销售怎么样
  • 如何增加网站反链html网站建设案例
  • 马鞍山市网站建设营销推广的形式包括
  • 网络违法犯罪网站举报如何免费制作简历
  • 关键词搜索爱站网装修公司网站用的织梦
  • 互助金融网站制作福州专业建站公司
  • 常州做网站麦策电商电子商务有限公司经营范围
  • 网站浮标怎么做wordpress like插件
  • 炫酷个人网站网站地图如何做
  • 怎样登入网站后台为什么网络经营者要有自己的网站
  • 网站正能量晚上不用下载免费进入wordpress彩票
  • 网站开发系统绿色版网站建设营销解决方案
  • 网站怎么样被百度收录公司网站网站不备案
  • 贵阳网站建设哪家公司好网站建设的英语怎么说
  • 做旅游网站的数据怎么来网站建设众包服务平台
  • 江苏环泰建设有限公司网站祁阳做网站
  • 网站总体设计怎么写怎么做电商平台
  • 企业网站建设存在的不足南宁网络推广方案
  • 临海门户网站住房和城乡建设规划局做网站的女生多么
  • 网站建设的公司如何招销售公司网络组建方案模板