I want to create a onscreen keyboard for a desktop application. The application will be built in Qt 5. I have couple of questions, please clarify them.
What is the replacement of QInputContext
in Qt5? (Because I read somewhere about onscreen keybord by implementing QInputContext
but this is not supported by Qt 5.)
Where can I find QPlatformInputContext
and QInputPanel
(on an internet search I found these two as alternatives of QInputContext
but not sure about that and also I was unable to find them)?
My requirements:
Keyboard will not use QML or any external library (already build other keyboards).
Keyboard will use Qt Gui (traditional).
I understand there are two challenges you would have:
ANSWER
QObject::InstallEventFilter()
on widgets that you want to provide the keyboard service to. You can then look for the mouseReleaseEvent
along the lines of the Qt code in the link.QCoreApplication::postEvent()
As for QPlatformInputContext
, get the example of a Qt Virtual Keyboard here.