[英]eventFilter error in Qt
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
installEventFilter(this);
}
bool Widget::eventFilter(QObject *target, QEvent *event)
{
if(target == this)
{
if(event->type() == QEvent::KeyPress)
{
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if(keyEvent->key()==QT::Key_Space)
{
ui->label->setText("ok");
return true;
}
// 마우스 눌린 상태.
}
}
return QWidget::eventFilter(target, event);
}
錯誤信息:
從“ QEvent *”類型到“ QKeyEvent *”類型的無效static_cast
無效使用不完整類型'struct QKeyEvent'
前向聲明'struct QKeyEvent'
我想要的是:
label setText("ok") keypress Event 'a' in Form
錯誤訊息
無效使用不完整類型'struct QKeyEvent'
可以很好地說明問題。 您忘記了#include
QKeyEvent
的頭文件。 添加行
#include <QKeyEvent>
在文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.