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

南沙高端网站建设wordpress 权限 分类

南沙高端网站建设,wordpress 权限 分类,建站小程序快速上线,wordpress头部模板c qt–事件过滤#xff08;第七部分#xff09; 一.为什么要用事件过滤 上一篇博客中我们用到了事件来进行一些更加细致的操作#xff0c;如监控鼠标的按下与抬起#xff0c;但是我们发现如果有很多的组件那每个组件都要创建一个类#xff0c;这样就显得很麻烦#xff…c qt–事件过滤第七部分 一.为什么要用事件过滤 上一篇博客中我们用到了事件来进行一些更加细致的操作如监控鼠标的按下与抬起但是我们发现如果有很多的组件那每个组件都要创建一个类这样就显得很麻烦所以我们就可以引入事件过滤了事件过滤不需要创建类只需要安装过滤器然后重写过滤器函数就可以了 二.写一个使用了事件过滤例子 1.所用到组件如下 这里还用到了栅格布局 2.安装过滤器 在mainwindow.cpp的构造函数中写下面代码 ui-lineEdit-installEventFilter(this/*参数得是对象*/);//安装过滤器相当于某个组件安装监控查看的权力交给MainWindow(物业) ui-plainTextEdit-installEventFilter(this);//安装过滤器相当于某个组件安装监控查看的权力交给MainWindow(物业)3.重写过滤器函数 1.声明 在mainwindow.h的类中写下面代码 public:bool eventFilter(QObject *watched, QEvent *event);2.定义 在mainwindow.cpp中写下面代码 bool MainWindow::eventFilter(QObject *watched, QEvent *event){if(watchedui-lineEdit){//如果是密码组件if(event-type()/*获取事件的类型*/QEvent::KeyPress){//如果是键盘按下的事件QKeyEvent* pKey(QKeyEvent*)event;//相当于是强转成具体事件的指针if(pKey-key()Qt::Key_ApKey-key()Qt::Key_Z){//如果是字母qDebug()放行pKey-key();return false;//不过滤放行}else{qDebug()过滤pKey-key();return true;//过滤不放行}}}else if(watchedui-plainTextEdit){//如果是多行文本输入框if(event-type()QEvent::Wheel){//如果是滑轮按下的事件QWheelEvent* pWheel (QWheelEvent*)event;//相当于是强转成具体事件的指针if(pWheel-buttons()Qt::MidButton){//如果按下鼠标中间qDebug()x pWheel-angleDelta().x();//alt上:y120 alt下y-120qDebug()y pWheel-angleDelta().y();//上:y120 下y-120int ypWheel-angleDelta().y();if(y0){ui-plainTextEdit-zoomIn();//放大}else if(y0){ui-plainTextEdit-zoomOut();//缩小}return true;//过滤不放行,事件在这里已经被处理了没必要继续分发了}}}return QMainWindow::eventFilter(watched,event); }三.写一个给两个数进行运算的例子自定义事件 1.用到的组件如下 这里还用到了栅格布局 2.给使用的Combo Box组件下拉框加上计算的规则 - * / 在mainwindow.cpp的构造函数中写下面代码 QStringList list{,-,*,/};ui-comboBox-addItems(list);3.通过点击按钮计算进行计算操作 1.添加信号槽 2.声明槽函数对点击按钮后做出反应的函数 在mainwindow.h的类中 private slots://使用qt中自带的方法添加槽函数会自动添加声明信号与槽函数的连接也会帮你写好这里我没有展示代码void on_pushButton_clicked();3.创建一个类文件用来自定义事件 4.修改类 在myevent.h中进行的修改 在myevent.cpp中进行的修改 5.在类中添加属性 在myevent.h中的类中写下面代码 public:int m_a;int m_b;QString m_str;6.再建一个窗口用来接收事件 1.创建窗口 2.此窗口使用的组件如下 3.定义一个对象 在main.cpp中写下面代码 在全局定义一个指针来指向对象 Dialog* pDlgnullptr;在main函数中定义对象 Dialog dia; pDlgdia;//指针指向对象7.定义槽函数 在mainwindow.cpp中写下面代码 QEvent::Type myTypeQEvent::User;//自定义事件的ID (1000)void MainWindow::on_pushButton_clicked() {//获得两个数字 和 规则int aui-spinBox-value();int bui-spinBox_2-value();QString strui-comboBox-currentText();//自定义事件并携带信息//MyEvent myEve(myType);//定义一个对象myEve.m_aa;myEve.m_bb;myEve.m_strstr;//发射自定义事件extern Dialog* pDlg;//外部声明可以让变量进行跨文件使用//第一种方法//下面函数发送事件是阻塞的等待对方处理完毕后再返回继续执行下面的代码类似于打电话//QCoreApplication::sendEvent(pDlg,myEve);//发送自定义事件//qDebug()sendEvent over;//第二种方法MyEvent* pEvenew MyEvent(myType);//在堆区创造一个对象防止此函数结束对象被回收pEve-m_aa;pEve-m_bb;pEve-m_strstr;//发送事件非阻塞投递完之后立即返回继续执行下面的代码类似于发短信QCoreApplication::postEvent(pDlg,pEve);qDebug()postEvent over; }8.重写接收自定义事件并进行处理的函数 1.声明 在dialog.h中写下面代码 public: virtual void customEvent(QEvent *event);2.定义 在dialog.cpp中写下面代码 void Dialog::customEvent(QEvent *event) {extern QEvent::Type myType;//外部声明可以让变量进行跨文件使用if(event-type()myType){MyEvent* pEve(MyEvent*)event;//强转为自定义事件int res0;//结果if(pEve-m_str){respEve-m_apEve-m_b;}else if(pEve-m_str-){respEve-m_a-pEve-m_b;}else if(pEve-m_str*){respEve-m_a*pEve-m_b;}else if(pEve-m_str/){respEve-m_a/pEve-m_b;}ui-label-setText(QString(规则%1结果%2).arg(pEve-m_str).arg(res));this-show();}qDebug()处理自定义事件完毕;
http://www.yutouwan.com/news/196993/

相关文章:

  • 重庆微信网站建设报价表网站我优化
  • 琼海市规划建设局网站杭州建设网站 网站建设
  • 网站做产品的审核工作怎么样app设计尺寸规范
  • 专业团队的梗pc网站如何做seo
  • 做营销型网站一般要多少钱山西建设网官方网站
  • 怎样建设自己网站的后台做网站的怎样找客户
  • 个人网站建设法律规定龙采做网站要多少钱
  • 网站排名快速提升wordpress 自适应 汉化
  • 阿里logo设计网站广州安全教育平台账号登录入口
  • 门户网站制作价格表网站架构图的制作
  • 网站开发 哪家好海外seo培训
  • 杭州营销型网站建设好的学校网站设计
  • 网站建设与推广策划案案例前端项目开发流程
  • 电子商务网站开发概述东莞标志设计公司
  • 企业做pc网站需要什么资料爱用建站 小程序
  • 跨境电商网站开发文档龙岩网站建设推广
  • 上国外网站 dns陕西优秀的企业门户网站建设
  • 惠州网站建设兼职手机如何创网站
  • 路由器做php网站吗网站定制兴田德润实力强
  • adc网站建设wordpress quick chat
  • 装修行业在什么网站上做推广好中国的科技成就
  • 江苏建设造价信息网站广告设计图案
  • 企业网站建设劣势罗湖网站设计多少钱
  • oecms(php企业网站管理系统)营销网站建设是什么意思
  • 照片做视频的软件 模板下载网站网站名字词
  • 织梦网站模板源码下载苏州网页关键词优化
  • 如何建设钓鱼网站网络营销师证书怎么考
  • 网站建设怎么样找客户快二手车网站建设论文
  • 淘客如何做网站推广蚌埠网络推广公司
  • 虚拟主机做视频网站可以吗网站建设基础书籍