KeyEvent QML 类型
提供有关按键事件的信息。 更多信息...
导入声明 | import QtQuick |
属性
- accepted : bool
- count : int
- isAutoRepeat : bool
- key : int
- modifiers : int
- nativeScanCode : quint32
- text : string
方法
- bool matches(StandardKey matchKey)
详细描述
例如,以下更改了当按下 Enter 键时项的状态属性
Item { focus: true Keys.onPressed: (event)=> { if (event.key == Qt.Key_Enter) state = 'ShowDetails'; } }
属性说明
accepted : bool |
将 accepted 设置为 true 可以防止按键事件传播到项的父级。
通常,如果项对按键事件进行操作,则应接受它,以确保祖先项不会对同一事件做出响应。
count : int |
此属性存储涉及此事件的按键数量。如果 KeyEvent::text 为空,则这仅仅是字符串的长度。
isAutoRepeat : bool |
此属性存储是否此事件来自自动重复键。
key : int |
此属性存储按下的或释放的键的代码。
有关键盘代码列表,请参阅 Qt.Key。这些代码与底层窗口系统无关。请注意,此函数不能区分大写和非大写字母;请使用 text 属性来实现此目的。
值为 0 或 Qt.Key_Unknown 表示事件不是已知按键的结果;例如,它可能是组合序列、键盘宏或由于按键事件压缩的结果。
modifiers : int |
此属性存储事件发生前立即存在的键盘修饰符标志。
它包含数字值的位组合(与Qt::KeyboardModifier中的相同)
常量 | 说明 |
---|---|
Qt.NoModifier | 没有按任何修饰键。 |
Qt.ShiftModifier | 按下了键盘上的Shift键。 |
Qt.ControlModifier | 按下了键盘上的Ctrl键。 |
Qt.AltModifier | 按下了键盘上的Alt键。 |
Qt.MetaModifier | 按下了键盘上的Meta键。 |
Qt.KeypadModifier | 按下了数字键区按钮。 |
Qt.GroupSwitchModifier | 仅X11。按下了键盘上的Mode_switch键。 |
例如,要响应Shift键+Enter键的组合
Item { focus: true Keys.onPressed: (event)=> { if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier)) doSomething(); } }
nativeScanCode : quint32 |
该属性包含按下的键的原始扫描码。它从QKeyEvent保持不变地传递。
另请参阅QKeyEvent::nativeScanCode().
text : string |
该属性包含由键生成的Unicode文本。返回的文本可以是空字符串,在这种情况下修饰键,如Shift、Control、Alt和Meta,被按下或释放。在这些情况下,key
将包含一个有效的值
方法文档
bool matches(StandardKey matchKey) |
如果键事件与给定的标准matchKey匹配,则返回true
;否则返回false
。
Item { focus: true Keys.onPressed: (event)=> { if (event.matches(StandardKey.Undo)) myModel.undo(); else if (event.matches(StandardKey.Redo)) myModel.redo(); } }
© 2024 The Qt Company Ltd. 所包含的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授予的。Qt及其相关标志是芬兰The Qt Company Ltd.以及在全世界其他国家的商标。所有其他商标都是其各自所有者的财产。