qt事件学习心得

#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

1.经过学习,在qt中这个main方法中定义了一个QApplication a(argc,argv);的应用程序对象,在return     a.exec()这个应用程序对象方法会不断捕获事件。

在事件的处理分为4给步骤:1.事件的产生-> 2.事件的过滤->3.事件分发->.4事件处理函数。

1.事件的产生条件:比如鼠标点击,滚轮滑动,键盘按下都会产生事件,会被应用程序对象的exec方法捕获,在由应用程序对象的notify方法发送到指定窗口。

2.事件过滤:在产生了事件后到事件被发送到达指定窗口中可以做事件过滤处理,事件过滤在应用程序对象类的父类Qobject中的eventFiter方法它是一个虚函数,所有可以重写.

3.事件分发:当事件没有被过滤且到达指定窗口的时候窗口就会进行事件的分发处理,比如分发的是鼠标事件或者键盘事件等等,在窗口类的父类event方法。

4.事件处理:就是窗口对象的事件处理函数了。

下面介绍一个键盘事件:

  在头文件中从写这连个键盘事件:
     virtual void keyPressEvent(QKeyEvent *event);//按下
     virtual void keyReleaseEvent(QKeyEvent *event);//释放

  在源文件中写入:
void MainWindow::keyPressEvent(QKey
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值