QML - 显示"下一步"按钮移动到移动键盘上的下一个TextField

时间:2015-03-26 07:37:33

标签: mobile keyboard qml textfield qtquick2

如何强制键盘布局在Q​​ML中显示“下一步”按钮? (与标准HTML格式一样) 我不想显示“确定”按钮(这意味着您即将验证表单..)

3 个答案:

答案 0 :(得分:4)

您可以使用Qt 5.6中引入的EnterKey attached property

import QtQuick 2.6

TextInput {
    EnterKey.type: Qt.EnterKeyNext
}

答案 1 :(得分:1)

TextInput {
    id: txtInput  
    Component.onCompleted: {  
    EnterKeyAction.actionId = EnterKeyAction.Next  
    EnterKeyAction.label = "Next"  
    } 
}

答案 2 :(得分:0)

我假设您没有使用Qt虚拟键盘。因此,您可以通过附加的EnterKey.type属性设置操作按钮的类型(可用的类型为Go,Search,Send,Next,...)。
另外,您还需要处理 返回 按钮按下的信号以执行所需的操作。例如,发送数据。在您的情况下,您只需要将焦点切换到下一个控件即可。

import QtQuick 2.12
import QtQuick.Controls 1.12

Column {
    TextField {
        id: field1
        KeyNavigation.tab: field2
        activeFocusOnTab: true
        Keys.onReturnPressed: KeyNavigation.tab.forceActiveFocus();
    }
    TextField {
        id: field2
        KeyNavigation.tab: field3
        activeFocusOnTab: true
        Keys.onReturnPressed: KeyNavigation.tab.forceActiveFocus();
    }
    TextField {
        id: field3
        KeyNavigation.tab: field1
        activeFocusOnTab: true
        Keys.onReturnPressed: KeyNavigation.tab.forceActiveFocus();
    }
}

我处理了returnPressed信号以切换焦点。另外,我还可以使用TAB键在桌面平台上进行切换。