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. How to custom qml virtual keyboard ?
Forum Updated to NodeBB v4.3 + New Features

How to custom qml virtual keyboard ?

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
37 Posts 7 Posters 28.2k Views 4 Watching
  • 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.
  • small_birdS small_bird

    @raven-worx Does not work, thanks all the same!

    raven-worxR Offline
    raven-worxR Offline
    raven-worx
    Moderators
    wrote on last edited by
    #28

    @small_bird
    if you follow the instructions in my post it definitely works, i used it myself already.
    If not you are still doing something wrong.
    Only advice left i can give is try a full rebuild (clean, rerun qmake, build again)

    --- 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

    small_birdS 1 Reply Last reply
    0
    • raven-worxR raven-worx

      @small_bird
      if you follow the instructions in my post it definitely works, i used it myself already.
      If not you are still doing something wrong.
      Only advice left i can give is try a full rebuild (clean, rerun qmake, build again)

      small_birdS Offline
      small_birdS Offline
      small_bird
      wrote on last edited by
      #29

      @raven-worx 0_1534215503237_捕获.PNG
      Warning:。。。。。。

      1 Reply Last reply
      0
      • G Offline
        G Offline
        GSElabs
        wrote on last edited by
        #30

        The problem may be in the order of the addImportPath and engine.load actions. I found that

        engine.load(QUrl("qrc:/main.qml"));
        

        must be executed only after

        engine.addImportPath("qrc:/kbstyles");
        qputenv("QT_VIRTUALKEYBOARD_STYLE", "mykbstl");
        

        So the code must be something like this:

        QQmlApplicationEngine engine;
        engine.addImportPath("qrc:/kbstyles");
        qputenv("QT_VIRTUALKEYBOARD_STYLE", "mykbstl");
        engine.load(QUrl("qrc:/main.qml"));
        
        1 Reply Last reply
        0
        • V Offline
          V Offline
          Vincent_Law
          wrote on last edited by
          #31

          Thank u for this thread. I resolved my problem with ru_RU <3

          1 Reply Last reply
          0
          • P Offline
            P Offline
            priyankar
            wrote on last edited by
            #32

            how to check the path set for QT_VIRTUALKEYBOARD_LAYOUT_PATH ?

            L 1 Reply Last reply
            0
            • P priyankar

              how to check the path set for QT_VIRTUALKEYBOARD_LAYOUT_PATH ?

              L Offline
              L Offline
              lemons
              wrote on last edited by
              #33

              @priyankar maybe my answer in this topic helps you:
              https://forum.qt.io/topic/134990/customising-qt-virtual-keyboard-qml-for-a-cross-compiled-remote-device/3

              1 Reply Last reply
              0
              • P Offline
                P Offline
                priyankar
                wrote on last edited by
                #34

                Thanks.
                Tried but still the keyboard is blank

                1 Reply Last reply
                0
                • small_birdS small_bird

                  @raven-worx Thanks a lot! I have made it!

                  P Offline
                  P Offline
                  priyankar
                  wrote on last edited by
                  #35

                  @small_bird can you share how you resolved I'm facing same issue

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dmendez
                    wrote on last edited by
                    #36

                    The correct path for styles is actually not just QtQuick/VirtualKeyboard/Styles.
                    In the documentation it states it is: $$[QT_INSTALL_QML]/QtQuick/VirtualKeyboard/Styles.
                    If the path to QtQuick/VirtualKeyboard/Styles is qrc:/kbstyles as above then to include the [QT_INSTALL_QML] portion for QML >= 2.0.0 put in main.cpp:
                    qputenv("QML2_IMPORT_PATH", "qrc:/kbstyles")

                    The code should look similar to this:

                    QQmlApplicationEngine engine;
                    qputenv("QML2_IMPORT_PATH", "qrc:/kbstyles");

                    engine.addImportPath("qrc:/kbstyles");
                    qputenv("QT_VIRTUALKEYBOARD_STYLE", "keyboardStyle");

                    qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH",
                    "qrc:/kbstyles/QtQuick/VirtualKeyboard/layouts");

                    engine.load(QUrl("qrc:/main.qml"));

                    P 1 Reply Last reply
                    1
                    • D dmendez

                      The correct path for styles is actually not just QtQuick/VirtualKeyboard/Styles.
                      In the documentation it states it is: $$[QT_INSTALL_QML]/QtQuick/VirtualKeyboard/Styles.
                      If the path to QtQuick/VirtualKeyboard/Styles is qrc:/kbstyles as above then to include the [QT_INSTALL_QML] portion for QML >= 2.0.0 put in main.cpp:
                      qputenv("QML2_IMPORT_PATH", "qrc:/kbstyles")

                      The code should look similar to this:

                      QQmlApplicationEngine engine;
                      qputenv("QML2_IMPORT_PATH", "qrc:/kbstyles");

                      engine.addImportPath("qrc:/kbstyles");
                      qputenv("QT_VIRTUALKEYBOARD_STYLE", "keyboardStyle");

                      qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH",
                      "qrc:/kbstyles/QtQuick/VirtualKeyboard/layouts");

                      engine.load(QUrl("qrc:/main.qml"));

                      P Offline
                      P Offline
                      priyankar
                      wrote on last edited by
                      #37

                      @dmendez thanks, it worked!

                      1 Reply Last reply
                      0
                      • Ronel_qtmasterR Ronel_qtmaster referenced this topic on

                      • Login

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