Qt事件

Posted mathyk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt事件相关的知识,希望对你有一定的参考价值。

1.每一个控件都有

   bool event(QEvent *event);    

  bool eventFilter(QObject *watched, QEvent *event);   //事件过滤器,就是什么控件想捕获怎样的事件
    ui->label->installEventFilter(this);   //label控件安装过滤器
    ui->label->setMouseTracking(true);  //设置鼠标跟踪


bool Widget::eventFilter(QObject *watched, QEvent *event)
{
    if(watched == ui->label)
    {
        static int t = 0;
        QMouseEvent *env = (QMouseEvent *)(event);  //鼠标事件
        if(event->type() == QEvent::MouseMove)   //移动事件
        {
            ui->label->setText(QString("%1").arg(t++));
            return true;
        }

    }
        return QWidget::eventFilter(watched,event);
}

 

 

以上是关于Qt事件的主要内容,如果未能解决你的问题,请参考以下文章

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

Qt学习: QCloseEvent关闭事件的使用及代码示例

QT开发(六十三)——QT事件机制分析

如何使用事件侦听器来加载动画片段的循环

Qt编程遇到的问题,我在qt中直接使用C语言的程序片段,有问题 ,求解

转Qt 事件处理机制 (下篇)