qml:FocusInput、TextInput 键盘输入

 有2个输入框,默认焦点在第一个输入框,按Tab键可以在两个输入框之间来回切换。

FocusInput.qml

import QtQuick

FocusScope {    //显式创建焦点范围
    width: 200
    height: 40
    x: 20
    y: 20

    property alias text: input.text
    property alias input: input

    Rectangle {
        id: rect
        border.color: 'gray'
        border.width: 2
        radius: 7
        anchors.fill: parent

        /*TextEdit*/ TextInput {    //二者的区别是:TextEdit是多行文本,TextInput是单行文本
            id: input
            anchors.left: parent.left
            anchors.verticalCenter: parent.verticalCenter
            anchors.margins: 6
            focus: true

            // wrapMode: Text.WordWrap //自动换行开启
        }
    }
}

05.qml 

import QtQuick

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("2.9 键盘输入")

    FocusInput {
        id: input1
        text: '你是小黑子吗?'
        input.font.pixelSize: 14 //设置字体大小
        height: input.font.pixelSize +20 //输入的高度

        focus: true //启用焦点
        KeyNavigation.tab: input2 //绑定Tab键切换焦点
    }

    FocusInput {
        id: input2
        text: '我不是!'
        input.font.pixelSize: 14
        height: input.font.pixelSize +20

        y: input1.y + input1.height +10 //加个间隙

        KeyNavigation.tab: input1
    }
}