小编jah*_*yun的帖子

Qt中的eventFilter错误

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);
}
Run Code Online (Sandbox Code Playgroud)

错误信息:

从'QEvent*'类型的static_cast无效到类型'QKeyEvent*'

无效使用不完整类型'struct QKeyEvent'

'struct QKeyEvent'的前向声明

我想要的是:

label setText("ok")  keypress Event 'a' in Form
Run Code Online (Sandbox Code Playgroud)

c++ qt

0
推荐指数
1
解决办法
899
查看次数

标签 统计

c++ ×1

qt ×1