试图关注 QButtonGroup 中的所有按钮
Trying to get focus on all buttons in a QButtonGroup
我试图将注意力集中在 QButtonGroup 中的所有 QPushButton 上。我在按钮组中添加的所有按钮上安装 eventFilter 并捕获每个按钮上的 Tab 键按下事件并将焦点转移到下一个按钮。
我能够做到这一点,但问题是使用 Shift + Tab 向后移动焦点时。我无法在 eventFilter 中捕获 Shift + Tab 事件。只有 shift 修改器按下才能正常工作
代码如下:
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+tab。
无需显式捕获 2 个修饰符。
在 Qt
中现成
我试图将注意力集中在 QButtonGroup 中的所有 QPushButton 上。我在按钮组中添加的所有按钮上安装 eventFilter 并捕获每个按钮上的 Tab 键按下事件并将焦点转移到下一个按钮。 我能够做到这一点,但问题是使用 Shift + Tab 向后移动焦点时。我无法在 eventFilter 中捕获 Shift + Tab 事件。只有 shift 修改器按下才能正常工作
代码如下:
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+tab。 无需显式捕获 2 个修饰符。 在 Qt
中现成