在我的小项目中,所有快捷方式都正常工作,但Tab按钮不是事件选取事件。有谁知道什么可能是错的?我没有用setFocusPolicy()等改变任何东西。我只重新实现了
void event(QEvent * event)
{
if (event->type() == QEvent::KeyPress)
{
QKeyEvent *ke = static_cast<QKeyEvent *>(event);
if (ke->key() == Qt::Key_M)
{
//do stuff
}
//... same for other button cases
if (ke->key() == Qt::Key_Tab)
{
// special tab handling here
return true;
}
}
else
{
return false;
}
return QWidget::event(event);
}
它与其他问题无关,因为提供的解决方案是重新实现QApplication的notify()函数。在我的情况下,小部件与QAppication完全分离,因此解决方案不适用于此处。