QT:选中复选框时忽略关键事件
QT: Ignore key events on checkbox selection
我在Windows上有一个QT应用程序,它有一个使用箭头键的模式,还有一个应该完全忽略这些箭头键的模式。也就是说,我希望箭头键在用户选中一个框后不会触发任何事件。
我看到一个帖子,其中建议eventFilter()
,但我不明白如何使用它。下面是侦听用户的复选框事件,并在用户检查后触发。在 else 部分中,我希望eventFilter()
适用于箭头键,但到目前为止我无法让它运行。
void MainWindow::on_checkBoxSmartCutMode_stateChanged(int arg1)
{
if (arg1 == 0)
{
// do as usual, arrow keys should work
}
else
{
eventFilter(); // if any arrow key is pressed, ignore the event
}
}
有什么建议吗?
您可以通过覆盖 keyPressEvent 并使用 keyEvent 作为密钥筛选器并测试复选框状态。
例:
void MainWindow::keyPressEvent(QKeyEvent *event)
{
// check your checkbox state
if (ui->poCheckBox->checkState() == Qt::Unchecked)
// do as usual, arrow keys should work
return;
switch(event->key())
{
case Qt::Key_Left:
case Qt::Key_Right: // add more cases as needed
event->ignore(); // if any arrow key is pressed, ignore the event
return;
}
// handle the event
}
相关文章:
- 根据变量使Qt UI中的复选框为已选中/未选中
- "动态创建的事件处理程序"复选框
- 有没有办法在取消选中复选框时隐藏按钮?
- 如何删除Qt设计器中自定义插件的QString属性的"translatable"复选框?
- 设置复选框选项C++
- 如何在所有者描述的 MFC CMenu 派生菜单中显示复选框?
- 如何在MFC对话框应用程序中默认将复选框设置为选中?
- 如何使复选框独占
- AccessObjectFromPoint 返回客户端对象而不是复选框
- Windows 32 API:2个复选框作为一个
- 如何在 QT3 中将复选框添加到 QFileDialog 窗口
- 在 QComboBox 中切换复选框
- 调整QT创建者的复选框
- 如何在C 上创建复选框过滤器
- 如何设置按钮的背景颜色,包括复选框按钮
- 使用 ffh.getFieldType() 检查复选框 == "/Btn" 与 qpdf lib
- 如何在多行文本C++的左上角显示复选框
- QT:选中复选框时忽略关键事件
- Qt4 QTableView和复选框点击事件
- 如何为wxGrid单元格创建复选框更改事件