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发布于 2015-05-26 04:32:11
错误信息
无效使用不完整类型的“struct QKeyEvent”
是这个问题的一个很好的指示。您忘记了#include QKeyEvent的头文件。加一行
#include <QKeyEvent>在档案里。
https://stackoverflow.com/questions/30449391
复制相似问题