簡體   English   中英

Qt中的eventFilter錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM