试图将焦点集中在QButtonGroup中的所有按钮上

Trying to get focus on all buttons in a QButtonGroup

本文关键字:按钮 QButtonGroup 焦点 集中      更新时间:2023-10-16

我正试图将注意力集中在QButtonGroup中的所有QPushButtons上。我正在按钮组中添加的所有按钮上安装eventFilter,并在每个按钮上捕捉Tab键按下事件,并将焦点转移到下一个按钮。我可以做到这一点,但问题是在使用Shift+Tab向后移动焦点时。我无法在eventFilter中捕获Shift+Tab事件。只有换档调节器压力机工作良好

这是代码:

bool Widget::eventFilter( QObject * inObject, QEvent * inEvent )
{
    if( inEvent->type() == QEvent::KeyPress )
    {
      QKeyEvent * keyEvent = static_cast< QKeyEvent * >( inEvent );
      if( keyEvent )
      {
         if( keyEvent->key() == Qt::Key_Tab && keyEvent->modifiers().testFlag( Qt::ShiftModifier ) )
         {
           //move focus backwards;
            return true;
         }
         return false;
      }
    }
}

请帮忙!

您应该使用Qt::Key_Backtab来实现shift+选项卡。无需显式捕获2个修饰符。它已在Qt 中准备好