【问题标题】:How to query keyboard modifiers in QML?如何在 QML 中查询键盘修饰符?
【发布时间】:2016-02-10 20:36:07
【问题描述】:

Qt 通过QGuiApplication::keyboardModifiers() 提供此功能。 QML 方式是什么?

【问题讨论】:

    标签: qt qml qt5 modifier-key


    【解决方案1】:

    在 QML 中存在 KeyEvent(有关详细信息,请参阅 here),它有一个名为 propertymodifers
    它包含可用修饰符的按位组合。

    它遵循直接取自上述文档的示例:

    Item {
        focus: true
        Keys.onPressed: {
            if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
                doSomething();
        }
    }
    

    可用修饰符的完整列表,请参考官方文档。

    【讨论】:

    • 没关系,但我想在事件处理程序之外查询缓存的修饰符。
    • 哦,好的,知道了。那么,你有什么代替QGuiApplication::keyboardModifiers?同样的静态方法。将其从 C++ 层导出到 QML 层,仅此而已。为什么你不能这样做?
    猜你喜欢
    • 2013-09-25
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 2010-09-13
    • 2011-07-09
    • 2012-02-05
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多