(Q) QML 键按下

(Q) QML Key Pressed

我想在 QML 上按键盘上的任意键时增加数字,它通过制作箭头键来工作,Keys.onUpPressed: {increment()} 但是当我想通过按 x 键来增加它时,当我尝试这个命令 Keys.onXPressed: {increment()} 它不会发生。我想让它随着按键的时间按比例增加,我该如何控制它。

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
    }
  }
}

没有 Keys.onXPressed 处理程序。您需要检查 Keys.onPressed.

中的密钥
      Keys.onPressed: {
          if (event.key === Qt.Key_X) {
            increment()
          }
      }