Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Solved Qml TextField inputMethodHints not working on ios

    QML and Qt Quick
    qml ios keyboard textfield
    1
    2
    2234
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • guidupas
      guidupas last edited by

      I am trying to use a TextField that receives only numbers in QML. I am using the inputMethodHints property to make the device keyboard show just numbers. It works fine in Android but when I run it in iOS it shows the full keyboard, with digits, characters and predictive words.

      Code below:

      TextField {
          id: numeroTelefoneTextField
      
          anchors.verticalCenter: parent.verticalCenter
          anchors.right: parent.right
      
          width: parent.width * 0.70
          height: parent.height * 0.6
      
          placeholderText: qsTr("Seu número")
      
          font.bold: true
      
          validator: RegExpValidator{regExp: /\d+/}
      
          inputMethodHints: Qt.ImhDigitsOnly
      }
      

      I have tried other options to like inputMethodHints: Qt.ImhDigitsOnly | Qt.ImhNoPredictiveText and just inputMethodHints: Qt.ImhNoPredictiveText but none of this options worked in iOS.

      Att.
      Guilherme Cortada Dupas

      1 Reply Last reply Reply Quote 0
      • guidupas
        guidupas last edited by

        I solved that just removing the validators, but I don't know why it worked without the validator.

        Code below:

        TextField {
            id: numeroTelefoneTextField
        
            anchors.verticalCenter: parent.verticalCenter
            anchors.right: parent.right
        
            width: parent.width * 0.70
            height: parent.height * 0.6
        
            placeholderText: qsTr("Seu número")
        
            font.bold: true
        
            inputMethodHints: Qt.ImhDigitsOnly
        }
        

        Att.
        Guilherme Cortada Dupas

        1 Reply Last reply Reply Quote 0
        • First post
          Last post