Пользователь может перемещаться по виджетам QtGUI с помощью клавиши «Tab» или клавиш со стрелками «‹-» и «->».
Кто-нибудь знает, как отключить клавиши со стрелками для этой цели? Мне нужны клавиши со стрелками для чего-то другого.
Пользователь может перемещаться по виджетам QtGUI с помощью клавиши «Tab» или клавиш со стрелками «‹-» и «->».
Кто-нибудь знает, как отключить клавиши со стрелками для этой цели? Мне нужны клавиши со стрелками для чего-то другого.
Вам потребуется повторно реализовать соответствующее событие в вашем собственном подклассе QWidget. следующее:
bool MyWidget::keyPressEvent(QKeyEvent *keyEvent)
{
if (keyEvent->key() == Qt::Key_Left || keyEvent->key() == Qt::Key_Right) {
// Do nothing
} else {
QWidget::keyPressEvent(keyEvent);
}
}
Просто переопределите event() или keyPressEvent()/keyReleaseEvent() главного окна. В перереализованных методах вы можете разместить нужные вам действия.
Я могу использовать QAction для этой цели. Таким образом, вам не понадобится подкласс.
QTabBar *tabBar;
........................
QAction* pLeftArrowAction = new QAction(this);
pLeftArrowAction->setShortcut(Qt::Key_Left);
QAction* pRightArrowAction = new QAction(this);
pRightArrowAction->setShortcut(Qt::Key_Right);
tabBar->addActions(QList<QAction*>() << pLeftArrowAction << pRightArrowAction);