QML 快捷键设置的几种方式
- 官方文档:https://doc.qt.io/qt-5/qml-qtquick-shortcut.html
- 快捷键类型提供了一种处理键盘快捷键的方法。
- 快捷键可以设置为标准键盘快捷键之一,也可以用包含激活快捷键所需的最多四次按键序列的字符串来描述。
- 示例
Item { id: view property int currentIndex Shortcut { sequence: StandardKey.NextChild onActivated: view.currentIndex++ } }
属性
【autoRepeat : bool】
- 此属性保存快捷方式是否可以自动重复。
- 默认值为true。
【enabled : bool】
- 此属性保存是否启用快捷方式。
- 默认值为true。
【nativeText : string】
- 此属性将快捷方式的键序列作为平台特定的字符串提供。
- 这意味着它将被翻译显示,在macOS上,它将类似于菜单栏中的一个键序列。
- 最好向用户显示此文本(例如,在工具提示上)。
- Qt5.6中引入了这个属性。
【portableText : string】
- 此属性以“可移植”格式的字符串形式提供快捷键的键序列,适合读取和写入文件。在许多情况下,它看起来类似于Windows和X11上的本机文本。
- Qt5.6中引入了这个属性。
【sequence : keysequence】
- 此属性保存快捷方式的键序列。
- 可以将按键顺序设置为标准键盘快捷键之一,也可以用包含激活快捷键所需的最多四次按键顺序的字符串来描述。
- 默认值为空键序列。
Shortcut { sequence: "Ctrl+E,Ctrl+W" onActivated: edit.wrapMode = TextEdit.Wrap }
【sequences : list<keysequence>】
- 此属性包含快捷方式的多个键序列。
- 按键顺序可以设置为标准键盘快捷键之一,也可以用包含激活快捷键所需的最多四次按键顺序的字符串来描述。
Shortcut { sequences: [StandardKey.Cut, "Ctrl+X", "Shift+Del"] onActivated: edit.cut() }
信号
- activated()
- 此信号在快捷方式激活时发出。
- activatedAmbiguously()
- 当快捷方式被不确定地激活时,会发出此信号,这意味着它匹配多个快捷方式的开始
- 注意:相应的处理程序是onActivatedAmbiguously。