Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Error: module "QtQuick.VirtualKeyboard.Settings" version 2.13 is not installed



  • I tried importing QtQuick.VirtualKeyboard.Settings and I got the following error:

    module "QtQuick.VirtualKeyboard.Settings" version 2.13 is not installed
    

    Do I need to add a line to main.cpp in order to use the settings?

    side questions: I don't see the code tags in the text options panel here on the forums anymore. Has it been removed?


  • Moderators

    @circuits said in Error: module "QtQuick.VirtualKeyboard.Settings" version 2.13 is not installed:

    side questions: I don't see the code tags in the text options panel here on the forums anymore. Has it been removed?

    Use single backtick for inline comment, you can encapsulate blocks with 3 backticks repeated

    before and after the block.
    

    Details are in COMPOSE? link at the top-right of reply widget.

    I tried importing QtQuick.VirtualKeyboard.Settings and I got the following error:

    Are you using Qt 5.13? Do you have Qt Virtual Keyboard enabled (does it work)?



  • @sierdzio Sorry no I am using Qt 5.12.3, is that too old? I do have a working Qt Virtual Keyboard enabled.


  • Moderators

    Then import 2.12, not 2.13. Then latter number corresponds to your Qt version.



  • @sierdzio I figured, rather than create a new post, I would just resurrect this old one as the problem seems to have come back. What I ended up doing originally to fix this problem was to simply add:

    import QtQuick.VirtualKeyboard.Settings 2.0
    

    instead of 2.13 as 2.12 was giving the same error. However, after deploying this to an embbedded device, the same error has popped up again. Seems odd considering it worked on my desktop deployment but as soon as I got to hardware:

    module "QtQuick.VirtualKeyboard.Settings" is not installed
    

    so I tried what you said and changed it to 2.12 but that's not working either, any ideas?


  • Moderators

    Is it installed there at all? It does not mention any version in the error message. So perhaps the module is missing (compiled but not installed or not deployed)?



  • @sierdzio That does seem to be the problem. I am not sure why though. I added: qtvirtualkeyboard to the package but for some reason it doesn't seem to be picking up the change. The module is called qtvirtualkeyboard correct? What else would it be called?

    EDIT: I will try rebuilding the entire platform... this could take awhile.


  • Moderators

    @circuits said in Error: module "QtQuick.VirtualKeyboard.Settings" version 2.13 is not installed:

    @sierdzio That does seem to be the problem. I am not sure why though. I added: qtvirtualkeyboard to the package but for some reason it doesn't seem to be picking up the change. The module is called qtvirtualkeyboard correct? What else would it be called?

    The folder is called qtvirtualkeyboard, yes. Module name (as understood by configure and qmake) is virtualkeyboard.

    EDIT: I will try rebuilding the entire platform... this could take awhile.

    Good luck. If you have the old compilation somewhere, you can check one of the output files - sorry I forgot the exact name, it was something like config.status or config.summary or something like that. It should be in your build dir (where you have run configure). It will tell you exactly which modules were enabled and which were not. It will also contain all the flags used during the compilation.



  • @sierdzio Alright, so I had to put the kibosh on the test because of hardware issues we are having. Essentially, the touchscreen we are using broke and the replacement, which we thought would be plug-n-play, isn't working. The test I wanted to perform is part of a larger problem I was having with the QTVK. For some reason I am having trouble getting rid of the Desktop integration method for the keyboard. The way I understand it is that if I want to keep the keyboard from showing up in a "dedicated top-level window" whenever an InputField{} is instantiated then all I need to do is add the line: CONFIG+=disable-desktop to my .pro file.

    The keyboard I am attempting to replace was implemented similarly to the QTVK. They used an InputField{} like the QTVK does. So eventually I will be tearing out all of their input fields and replacing it with the new keyboard component I built which uses the QTVK. I have managed to tear out one of them so far but I wont be able to address the other ones because some other issues in the software have priority. Temporarily I just want to keep their keyboard in place in those other locations in the code. The problem is that the QTVK is recognizing their InputField's as valid. So it is opening the "dedicated top-level window" keyboard whenever one of those fields is in focus.

    I thought that by adding the CONFIG+=disable-desktop to my .pro file it would stop that from happening but apparently I am misinterpreting something because it did not work. So I figured, for now I just want to see if that "dedicated top-level window" would show up on the actual hardware (I dont think it will) but I was unable to test it. So I guess I am back to square one :( I just need to figure out how to keep the "dedicated top-level window" keyboard from opening whenever one of those old InputFields has the active focus.


  • Moderators

    I don't know much about QtVK, but perhaps using the InputPanel method will solve the issue with extra window on your side: https://doc.qt.io/qt-5/qtvirtualkeyboard-deployment-guide.html#loading-the-plugin



  • @sierdzio I am trying to come up with a band-aid for it. Something like:

    MouseArea {
                anchors.fill: parent
                onClicked: {
                    Qt.inputMethod.hide  //Something like this (not working)
                                         //but something similar?
                    if (!inputField.readOnly)
                        editingValue.forceActiveFocus()
                }
            }
    

    EDIT: Managed to put on a band-aid by calling hide() when onActiveFocusChanged{} is called, works for me.


Log in to reply