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 19.9k 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 The output is "Can not find style "style" - fallback: "default"

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

    @small_bird
    my "fault". but anyway again this is described in the link i've posted.

    In the given import path Qt expects the style to be in the path /QtQuick/VirtualKeyboard/Styles
    So add your style.qml into the following qrc path (where STYLENAME is the name you provide in the QT_VIRTUALKEYBOARD_STYLE env variable):
    :/kbstyles/QtQuick/VirtualKeyboard/Styles/STYLENAME => so it becomes :/kbstyles/QtQuick/VirtualKeyboard/Styles/STYLENAME/style.qml

    So QT_VIRTUALKEYBOARD_STYLE determines the folder name (which contains a style.qml) not the name of the qml file itself.

    --- 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
      my "fault". but anyway again this is described in the link i've posted.

      In the given import path Qt expects the style to be in the path /QtQuick/VirtualKeyboard/Styles
      So add your style.qml into the following qrc path (where STYLENAME is the name you provide in the QT_VIRTUALKEYBOARD_STYLE env variable):
      :/kbstyles/QtQuick/VirtualKeyboard/Styles/STYLENAME => so it becomes :/kbstyles/QtQuick/VirtualKeyboard/Styles/STYLENAME/style.qml

      So QT_VIRTUALKEYBOARD_STYLE determines the folder name (which contains a style.qml) not the name of the qml file itself.

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

      @raven-worx 0_1533772777685_捕获.PNG

      raven-worxR 1 Reply Last reply
      0
      • small_birdS small_bird

        @raven-worx 0_1533772777685_捕获.PNG

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

        @small_bird
        last time...
        engine->addImportPath(":/kbstyles")

        --- 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
        1
        • raven-worxR raven-worx

          @small_bird
          last time...
          engine->addImportPath(":/kbstyles")

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

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

          raven-worxR 1 Reply Last reply
          0
          • 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