Vio*_*ffe 5 qt qt4 keyevent event-handling qt5
我想拦截Tab主窗口中的按键以防止Qt切换焦点.这是我到目前为止所尝试的:
bool CMainWindow::event(QEvent * e)
{
if (e && e->type() == QEvent::KeyPress)
{
QKeyEvent * keyEvent = dynamic_cast<QKeyEvent*>(e);
if (keyEvent && keyEvent->key() == Qt::Key_Tab)
return true;
}
return QMainWindow::event(e);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,event按下时不调用Tab.如何实现我想要的?
我发现避免焦点更改的最优雅方式是在类中重新实现从QWidget派生的方法bool focusNextPrevChild(bool next)并简单地返回FALSE.如果你想允许它,请返回TRUE.
与其他键一样,你现在还弄的关键Qt::Key_Tab在keyPressEvent(QKeyEvent* event)
| 归档时间: |
|
| 查看次数: |
5743 次 |
| 最近记录: |