如何在 QML 中查询键盘修饰符?
Posted
技术标签:
【中文标题】如何在 QML 中查询键盘修饰符?【英文标题】:How to query keyboard modifiers in QML? 【发布时间】:2016-02-10 20:36:07 【问题描述】:Qt 通过QGuiApplication::keyboardModifiers() 提供此功能。 QML 方式是什么?
【问题讨论】:
【参考方案1】:在 QML 中存在 KeyEvent
(有关详细信息,请参阅 here),它有一个名为 property 的 modifers
。
它包含可用修饰符的按位组合。
它遵循直接取自上述文档的示例:
Item
focus: true
Keys.onPressed:
if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
doSomething();
可用修饰符的完整列表,请参考官方文档。
【讨论】:
没关系,但我想在事件处理程序之外查询缓存的修饰符。 哦,好的,知道了。那么,你有什么代替QGuiApplication::keyboardModifiers
?同样的静态方法。将其从 C++ 层导出到 QML 层,仅此而已。为什么你不能这样做?以上是关于如何在 QML 中查询键盘修饰符?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 qml 中捕捉从虚拟键盘按下的 Key_Cancel?