当我按下 ctrl + a 或 ctrl +等组合键时,我想在array('page' => $page-1)
内插入一个字符串 s 或 ctrl + c 。
我已经写了一些代码,但它没有用。
example.qml
TextArea
答案 0 :(得分:1)
将Keys.onPressed
块移到TextArea
元素内以便接收事件,就像这样:
import QtQuick 2.4
import QtQuick.Controls 1.3
TextArea
{
id: textArea
anchors.fill: parent
Keys.onPressed:
{
if (event.modifiers == Qt.ControlModifier)
{
switch (event.key)
{
case Qt.Key_A:
{
console.log("select")
event.accepted = true
break
}
case Qt.Key_S:
{
console.log("save")
event.accepted = true
break
}
default:
event.accepted = false
}
}
}
}
还提供最少的解释:在您的情况下,周围的Rectangle
将处理按键事件 - 只要其焦点设置。当您开始在TextArea
内部进行输入(现在它具有焦点)时,您将绕过密钥处理程序。而不是设置/重置焦点,让TextArea
处理所有关键事件变得更容易。
希望这有帮助!