我在widget中装了事件过滤
中间需要把按键相关的事件作为信号传递给其他进程或widget处理,但是因为,时间过滤处理函数是传入的是QEvent指针,
担心事件过滤函数返回后这个指针会被释放,所以想通过如下传实例对象的方式来保证event信息不被释放(不知道有没有更好的方法),
bool QWidget::eventFilter( QObject *object, QEvent *event ){
.......
QKeyEvent* keyevent = static_cast<QKeyEvent*>( event )
emit SigRevKeyEvent(*keyevent)
.......
}
但是我发现用
qRegisterMetaType<QKeyEvent>("QKeyEvent");
注册QKeyEvent时,qt出错
C:\Qt\Qt5.2.0_Mingw\5.2.0\mingw48_32\include\QtCore\qmetatype.h:720: error: no matching function for call to 'QKeyEvent::QKeyEvent()'
return new T();
不知道是什么原因,各位大侠有什么主意吗