当我在QML上按下键盘上的任意键时,我想要增加这个数字,它的工作方式是使箭头键Keys.onUpPressed:{ happen ()},但是当我想通过按x键来增加它时,当我尝试这个命令Keys.onXPressed:{Keys.onXPressed()}时,不会发生这种情况。我希望它与按键的时间成比例增加,我如何控制它。
import QtQuick 2.12
import QtQuick.Window 2.12
Window {
id: root
visible: true;
color: "lightgrey"
width: 500
height: 500
Keys.onPressed: {
switch (event.key) {
case Qt.Key_Up:
vueGrille.commencer();
root.showgrille();
break;
case Qt.Key_Down:
vueGrille.mouveBas();
root.showgrille();
break;
case Qt.Key_Left:
vueGrille.mouveGauche();
root.showgrille()
break;
case Qt.Key_Right:
vueGrille.mouveDroite();
root.showgrille()
break;
default:
break;
}
}
Text {
id: label1
font.pixelSize: 30
property int upPressed: 0
text: "Key UP Pressed " + upPressed + "Times"
onTextChanged: console.log("Text Changed to " +text)
focus: true
Keys.onUpPressed: {
increment()
}
Keys.onEscapePressed: {
label1.text = ''
}
function increment(){
upPressed = upPressed + 1
}
}
}
发布于 2021-05-11 19:34:33
没有Keys.onXPressed
处理程序。您需要检查Keys.onPressed
中的密钥。
Keys.onPressed: {
if (event.key === Qt.Key_X) {
increment()
}
}
https://stackoverflow.com/questions/67492601
复制相似问题