Клавиши порядка вкладок Qt

Пользователь может просматривать виджеты QtGUI с помощью клавиши «Tab» или клавиш со стрелками ».<- «и» -> «.

Кто-нибудь знает, как для этого отключить клавиши со стрелками? Мне нужны клавиши со стрелками для чего-то еще.

3

Решение

Вам нужно будет переопределить соответствующее событие в вашем собственном подклассе QWidget следующим образом:

bool MyWidget::keyPressEvent(QKeyEvent *keyEvent)
{
if (keyEvent->key() == Qt::Key_Left || keyEvent->key() == Qt::Key_Right) {
// Do nothing
} else {
QWidget::keyPressEvent(keyEvent);
}
}
3

Другие решения

Просто переопределите событие () или keyPressEvent () / keyReleaseEvent () главного окна. В переопределенных методах вы можете разместить желаемые действия.

1

Я могу использовать 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);
1
По вопросам рекламы [email protected]