【问题标题】:QML - Display "Next" button to move to next TextField on a mobile keyboardQML - 显示“下一步”按钮以移动到移动键盘上的下一个 TextField
【发布时间】:2015-05-30 03:44:48
【问题描述】:

如何强制我的键盘布局在 QML 中显示“下一步”按钮? (就像在标准的 HTML 表单中一样) 我不想显示“确定”按钮(这意味着您将要验证表单..)

【问题讨论】:

    标签: mobile keyboard qml textfield qtquick2


    【解决方案1】:

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

    import QtQuick 2.6
    
    TextInput {
        EnterKey.type: Qt.EnterKeyNext
    }
    

    【讨论】:

      【解决方案2】:
      TextInput {
          id: txtInput  
          Component.onCompleted: {  
          EnterKeyAction.actionId = EnterKeyAction.Next  
          EnterKeyAction.label = "Next"  
          } 
      }
      

      【讨论】:

        【解决方案3】:

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

        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 键进行切换。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-08-07
          • 1970-01-01
          • 1970-01-01
          • 2017-03-24
          • 1970-01-01
          • 1970-01-01
          • 2020-05-26
          相关资源
          最近更新 更多