[Qt-qml] QML TextInput, extending Qt input method query and input method event

Kimmo Kinnunen kimmo.t.kinnunen at nokia.com
Fri Nov 26 08:02:51 CET 2010


Hello,
Is there a way to extend the input method event and input method query 
handlers of QML TextInput ?

I'm trying to use TextInput on a Meego platform. The problem is lack of 
integration with 'virtual keyboard'.

There doesn't seem to be a way to turn off text input method features 
like auto-correction, auto capitalization, etc, for TextInputs. Is there 
a way to do this?

For example, the meegotouch MTextEdit supports turning off the 
autocorrection by handling a input method query of type 
Qt::ImCorrectionEnabledQuery in MTextEdit::inputMethodQuery.

At time of writing this message, the member function looks like this:
http://meego.gitorious.org/meegotouch/libmeegotouch/blobs/master/src/corelib/widgets/mtextedit.cpp#line2450

I believe this is standardish qt way of doing this, so it shouldn't be 
meegotouch specific. Just turning on input method hints for the 
TextInput graphicsitem doesn't work for Meego virtual keyboard -- the 
item needs to answer to the certain input method queries and events.

I can see two ways to do this with QML TextInput:
  1) Inherit from QDeclarativeTextInput
  2) Somehow workaround this by creating a focus proxy

The 1) is out of question since QDeclarativeTextInput is not a public 
API nor exported.

The 2) seems like very error-prone way of achieving simple thing like 
this. Will it work, has anybody used this?

Is there a simpler way to get the functionality?

Note, cross-posted to qt-components@ as this might be a hint for 
expected functionality..

BR,
Kimmo





More information about the Qt-qml mailing list