QML Keys.onEnterPressed issue

nvcnvn picture nvcnvn · Mar 13, 2012 · Viewed 18.6k times · Source

I have a QtQuick project for Desktop. It is very simple:

// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5
import QtQuick 1.1

Rectangle {
    width: 360
    height: 360
    Grid
    {
        id: xGrid
        width: parent.width
        height: parent.height
        columns: 2
        spacing: 1

        Rectangle
        {
            height: parent.height
            width: 10
            color: "#ff0000"
            Text {
                id: xText
                text: qsTr("t\na\ns")
            }
        }
        TextEdit
        {
            id: xTextEdit
            height: parent.height
            width: 350
            Keys.onEnterPressed: {
                console.log(event.key)
                xText.text = (qsTr("A"))
            }
        }
    }
}

My code does not run like I want. The Keys.onEnterPressed seem never be captured, so I try Keys.onPressed it work but not sure why when I press Enter, the even.key returns 16777220.

Any one get this issue? How can I solve it?
Thanks for your answer!

Answer

Scharenberg picture Scharenberg · Sep 13, 2012

I got the same problem with a TextInput item. I tried

  • onPressed
  • onEnterPressed
  • onReturnPressed

Only the latter one worked (onReturnPressed). I guess, the underlying implementation of the TextInput captures the 'Enter' key so it doesn't get processed by the onPressed signal in a regular way.

By the way: the key code is correct. It's an abstraction on the platform specific key codes.