i am writing an application for windows 8 with Qt and Qml. I want a touch keyboard appears when I set focus to a text input field, such as a search box. Things like textInput.openSoftwareInputPanel(); doesn’t work for a desktop application. Windows 8 have a default touch keyboard, it is possible to display this keyboard. I can’t find any solution for this problem. Can anyone help me?
Asked
Active
Viewed 2,874 times
1
-
Which Qt version do you use? – Frank Osterfeld Jan 07 '14 at 16:20
-
i am using Qt 5.1. At the moment i try to run the osk keyboard with a QProzess like: QProcess* myProcess = new QProcess(this); QStringList arguments; myProcess->start("osk",arguments); but this don't work with osk, with calc for example it works. I don't know why. – Claudia_letsdev Jan 08 '14 at 12:59
1 Answers
2
Ok i have solved the problem, with:
QProcess *process = new QProcess(this);
QString program = "explorer.exe";
QString folder = "C:\\Windows\\System32\\osk.exe";
process->start(program, QStringList() << folder);
i can call the osk keyboard in an external process. With a signal/ slot to my textInput field i call a function who start this process.
Thank you for help.

Claudia_letsdev
- 273
- 4
- 9
-
...and that causes the entered text to appear in the textinput?? – Frank Osterfeld Jan 08 '14 at 14:31
-
in the onClicked method a set the textfield.focus = true; textfield.forceActiveFocus(); and than the text appears in the textInput field. – Claudia_letsdev Jan 09 '14 at 14:42
-
For Window 10, use `C:\Program Files\Common Files\Microsoft Shared\Ink\TabTip.exe` :) – mlvljr Jul 28 '16 at 21:06