欢迎访问Ningto's博客

Menu
  • 首页
  • 归档
  • 关于
  • 书签
  • 必应壁纸
  • IT聚合
  • 工具
    • 我的工具列表
    • 我的网盘
    • 必应每日壁纸API
    • Html转Markdown
    • 仙尘光标
Menu

比较QKeyEvent和shortcut的按键信息

最后更新 2018-09-03 09:34:00   阅读量 2729

QKeyEvent来自于键盘的按键事件,shortcut是快捷方式,这里我用setShortcut函数给button设置了一个快捷方式,现在我想比较QKeyEvent的按键与button的shortcut是否相同。

QKeyEvent主要是通过modifiers和key这两个函数来获取当前的按键,shortcut使用QKeySequence来表示按键信息的。

根据QKeySequence的构造函数将QKeyEvent转换成QKeySequence,但是直接跟shortcut相比的话不是我们想要的结果。后来通过toString来比较他们的值发现两种表示格式是不一样的,但是主要内容是一致的,所以这里做了一个处理,让他们的格式一致。

常见的组合键判断都是没问题的,不排除特殊的可能有问题。

QKeyEvent *e;
// ...
QKeySequence curKey(e->modifiers() != 0 ? e->modifiers() : e->key(), e->modifiers() != 0 ? e->key() : 0);
QString curStr = curKey.toString();
curStr = curStr.remove(" ").split(",").join("");
if (curStr == button->shortcut().toString()) {
    // 相同
}
(转载本站文章请注明作者和出处:泞途 - ningto.com)

下一篇 – React session
上一篇 – Javascript小技巧

  1. C/C++
  2. Qt

toningto@outlook.com

标签云

Design Shell Web Windows Qt Database React Bug Node.js Android Mac Go ChatGPT Java Others Tips Javascript IOS Python MQ Linux C/C++ Tools Mobile Boost Life MongoDB Product

推广链接

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

多谢支持,用了好几年,服务很稳定支持多设备!

其他

文章RSS

Copyright © 2016 Welcome To Ningto Blog | 鄂ICP备17003086号-2