Qt事件机制

事件机制的传递是从子部件传递到父部件,比如下面这段代码

class Widget2 : public QWidget
{
public:
    Widget2(QWidget *parent): QWidget(parent) {}
    bool event(QEvent *e) {
         qDebug("%s[%d]", __func__, __LINE__;
         return QWidget::event(e);
     }
};

class Widget1 : public QWidget
{
public:
    Widget1(QWidget *parent)
    bool event(QEvent *e) { qDebug("%s[%d]", __func__, __LINE__; }

private:
    Widget1 m_subWidget;
};

Widget::Widget(QWidget *parent) : QWidget(parent),
    m_subWidget(new Widget2(this))
{

}

用户点击该部件时,Widget2会先触发事件然后调用event函数, 最后Widget1再接收到事件并调用event函数


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 add358@163.com

文章标题:Qt事件机制

文章字数:114

本文作者:Jake Yang

发布时间:2018-09-03, 00:00:00

最后更新:2019-12-16, 16:14:11

原始链接:https://add358.github.io/2018/09/03/Libs-Qt-2018-09-03-事件机制/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏