QT QEvent 转换为 QMouseEvent ,QKeyEvent....等子类

QT QEvent 转换为 QMouseEvent ,QKeyEvent....等子类

QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
 
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);

        //将QEvent对象转换为真正的QKeyEvent对象
        QKeyEvent *keyEvent = static_cast<QKeyEvent *>(e);

==========================

Qt QEvent*转QKeyEvent*

如题
如下即可:

QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);

如果报错

mainwindow.cpp:21:35: error: static_cast from 'QEvent *' to 'QKeyEvent *', which are not related by inheritance, is not allowed
qwidget.h:75:7: note: 'QKeyEvent' is incomplete

记得加上

include <QKeyEvent>

————————————————
版权声明:本文为CSDN博主「swy_swy_swy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/swy_swy_swy/article/details/108278592

qt中的 QEvent能转换成 QMouseEvent吗

https://zhidao.baidu.com/question/432756712079469084.html

QMouseEvent是QEvent的间接子类,如果QEvent的指针指向的是QMouseEvent对象,当然可以转换,如果不是,转换失败。这是C++的多态啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值