Qt World Summit: Submit your Presentation

Qt virtual keyboard plugin

  • Hello there,
    I am using Qt v5.6. I am using qt creator to develop a widget application for a raspberry pi (using cross compilation). It works all right. At this moment however I need to figure a way to input data into the system (Raspberry pi uses a touchscreen). So I need some sort of virtual on screen keyboard. I see that there is something like this in qt: http://doc.qt.io/qt-5/qtvirtualkeyboard-index.html
    But I find it hard to:

    • Figure out either I can use it in my application without Qt quick (I dont use qt quick)
    • Figure out how to build it, even with the instructions

    For serialbus and serialport modules I have simply cloned them from git repository and build in command line, then deployed the libs to the raspberry pi. This is a plugin, not a module however and I am not sure how to proceed. I would be really grateful If one could help me figure out how to implement this virtual keyboard into an existing qt widgets application.

  • Qt Virtual Keyboard is QML only. The only thing that can be customised in C++ is the input method.
    On how to build and deploy see http://doc.qt.io/qt-5/build.html

  • Yes I have seen the link. So If I understood you correctly, it is not possible to use it with c++ qt only?

  • No, it can't be used with QWidget based applications

  • @Bremenpl .. I have had a similar criteria three years ago. I just went ahead and designed my own keyboard dialog patterned after the Android one on a tablet I had. It works pretty well. as Qt gives great mechanisms for interacting with the QLineEdit, QTextEdit, etc. It took me less than one day to make the alpha-numeric keypad. Make it a plugin and you can use it on different apps.

  • I have used this one http://processors.wiki.ti.com/index.php/Qt_Keyboard_Template
    After slight modifications it works perfect and its very simple, not bloated with weird features and plugins.

  • The problem with that one is that is 0% internationalisable but if you care only for ASCII English then it's a solution

  • @VRonin Yes its very simple, If I wanted to add special characters I would need to think about something more.

Log in to reply