Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Qt virtual keyboard capabilities
QtWS25 Last Chance

Qt virtual keyboard capabilities

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
3 Posts 2 Posters 413 Views
  • 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.
  • R Offline
    R Offline
    RobM
    wrote on last edited by RobM
    #1

    I have a few questions I was hoping someone could answer for me about the Qt virtual keyboard. Here is how I have implemented it so far:

    Window {
        id: window
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
    
        property string dataIs: ""
    
        InputPanel {
            id: inputPanel
            z: 99
            x: 0
            y: window.height
            width: window.width
    
            states: State {
                name: "visible"
                when: inputPanel.active
                PropertyChanges {
                    target: inputPanel
                    y: window.height - inputPanel.height - 50
                }
            }
            transitions: Transition {
                from: ""
                to: "visible"
                reversible: true
                ParallelAnimation {
                    NumberAnimation {
                        properties: "y"
                        duration: 250
                        easing.type: Easing.InOutQuad
                    }
                }
            }
        }
    
        TextInput {
            id: textInput
            x: 183
            y: 118
            width: 80
            height: 20
            text: qsTr("Text Input")
            font.pixelSize: 12
            EnterKeyAction.enabled: textInput.text.length > 0 || textInput.inputMethodComposing
            EnterKeyAction.label: "Next"
            Keys.onReleased: {
                if (event.key === Qt.Key_Return) {
                    dataIs = textInput.text
                    console.log(dataIs)
                }
            }
        }
    }
    

    the console logs are just for verification that I can manipulate already existing data within my program. My first question regards displaying information on the keyboard. Is it possible either through layouts or styles for me to show (on the keyboard itself) real time text display?

    My second question regards the language switching capabilities of the keyboard. Currently the keyboard has a button the user can press which will allow them to select the language. I would like to disable that button and instead have the user select the language for the keyboard outside of the keyboard itself, will that be possible?

    I do have a commercial Qt license if that is relevant. Keep in mind I did not right this portion of the code:

    InputPanel {
            id: inputPanel
            z: 99
            x: 0
            y: window.height
            width: window.width
    
            states: State {
                name: "visible"
                when: inputPanel.active
                PropertyChanges {
                    target: inputPanel
                    y: window.height - inputPanel.height - 50
                }
            }
            transitions: Transition {
                from: ""
                to: "visible"
                reversible: true
                ParallelAnimation {
                    NumberAnimation {
                        properties: "y"
                        duration: 250
                        easing.type: Easing.InOutQuad
                    }
                }
            }
        }
    

    it was taken directly from the Qt website in order to help me get my feet on the ground with the virtual keyboard. Therefore, if the answer to either of my questions has something to do with setting up states and transitions and it seems like it should be obvious to me based on the code I have shown please understand that it is not because I did not write that code nor do I understand how it works.

    1 Reply Last reply
    0
    • raven-worxR Offline
      raven-worxR Offline
      raven-worx
      Moderators
      wrote on last edited by
      #2

      @RobM
      i suggest you read this: https://doc.qt.io/qt-5/technical-guide.html
      Default language is taken from the locale
      Appearance can be changed via custom layouts

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      R 1 Reply Last reply
      1
      • raven-worxR raven-worx

        @RobM
        i suggest you read this: https://doc.qt.io/qt-5/technical-guide.html
        Default language is taken from the locale
        Appearance can be changed via custom layouts

        R Offline
        R Offline
        RobM
        wrote on last edited by RobM
        #3

        @raven-worx Okay great, so it says that: "After the locale selection is done, the keyboard updates the input locale and input direction to match the current layout. The application can receive this information through the QInputMethod interface." I am assuming that would be through the localeChanged() function. Does that mean I would need to use QInputPanel instead of InputPanel for my keyboard? Also, I assuming that in order to get the real time text display that I would have to make a common change to each layout?

        EDIT: Perhaps that assumption about the Panel is incorrect. Instead I think what I should do is make the selection in my main.cpp correct?

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved