c++ - 如何阻止空格键触发聚焦的 QPushButton?
问题描述
假设我有一个重点QPushButton
:
my_button = new QPushButton("Press me!", this);
my_button->setFocus();
当显示此按钮时,按下Space将触发(即单击)该按钮。我不想要这种行为。相反,我想Ctrl+Enter触发按钮。
我怎样才能在 Qt 中实现这一点?
(工作示例真的很有帮助,因为这是我的第一个 Qt 应用程序的一部分)
解决方案
您可以将单击的按钮的插槽连接到快捷方式
connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Enter), this), &QShortcut::activated, [this]() {on_pushButton_clicked();});
另一方面,您可以设置焦点策略以避免空格键事件触发:
my_button->setFocusPolicy(Qt::NoFocus)
推荐阅读
- python - 如何使用 keras 召回进行多标签分割
- javascript - javascript 函数表达式使用 const 而不是 let
- javascript - 使用时刻进行日期格式时获取一些随机字母
- mongodb - 连接到 Atlas MongoDB 时身份验证失败
- c# - 按值筛选 Firebase 子项 Xamarin.Forms
- ios - 如何在我的自定义目录中创建文件夹并提前在 /myapp/documents 中创建一个文件夹(当我构建应用程序时)?
- swiftui - 折叠列表中的 SwiftUI 导航
- arrays - jq - 删除 JSON 文件内所有数组中的重复条目
- github - GitHub 页面未在新创建的存储库上呈现 HTML 或 MD 文件
- java - Spring WebFlux Validate OpenAPI Spec against request