Qt之子类发送消息给父类

忘是亡心i 2022-10-02 00:43 253阅读 0赞

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

例子:比如QWidget发送消息给QApplication

在widget.cpp中重载event事件

  1. #include <qDebug>
  2. bool Widget::event(QEvent *e)
  3. {
  4. if(e->type() == QEvent::Close) //因为Widget的父类是app
  5. {
  6. qDebug() << "User event is comming";
  7. }
  8. return QWidget::event(e);
  9. }

接收事件

  1. #include "widget.h"
  2. #include <QApplication>
  3. int main(int argc, char *argv[])
  4. {
  5. QApplication a(argc, argv);
  6. Widget w;
  7. w.show();
  8. // 发送一个Event给MyWidget
  9. qDebug() << "begin send";
  10. a.postEvent(&w, new QEvent(QEvent::User));
  11. // sendEvent,建议用postEvent
  12. qDebug() << "end send";
  13. return a.exec();
  14. }
  15. //可以在程序任意地方qApp.postEvent(&w, new QEvent(QEvent::User));

转载于:https://my.oschina.net/u/3919756/blog/1982613

发表评论

表情:
评论列表 (有 0 条评论,253人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Qt入门教程: 转换

    Qt入门教程: 子父类转换 在Qt中,类之间的继承关系是非常重要的。在多个相关联的类中,我们有时需要将基类指针转换为其派生类类型的指针,然后调用该类型的成员函数。但在这种情况

    相关 ,变量

    父子类的类变量基本与父子实例在内存中分配类似.不同的是,类变量属于类本身,而实例变量则属于Java对象;类变量在类初始化阶段完成初始化,而实例变量则在对象初始化阶段完成初始化.

    相关 Java取得

      在继承关系中,不管父类还是子类,这些类里面的this都代表了最终new出来的那个类的实例对象,所以在父类中你可以用this获取到子类的信息!   packag

    相关 强转为

    很少情况下需要这样干,但是在DTO层与entity层分开时,DTO层继承entity,再给DTO层赋值时不能直接将entity转为dto,因为子类有些属性,父类没有,所以强转会