2014-01-07 3 views
1

Я пишу приложение для Windows 8 с Qt и Qml. Я хочу, чтобы сенсорная клавиатура появилась, когда я устанавливал фокус на текстовое поле ввода, например окно поиска. Такие вещи, как textInput.openSoftwareInputPanel(); не работает для настольного приложения. Windows 8 имеет сенсорную клавиатуру по умолчанию, эту клавиатуру можно отобразить. Я не могу найти решение этой проблемы. Может кто-нибудь мне помочь?Дисплей Windows Touch Keyboard

+0

Какую версию Qt вы используете? –

+0

Я использую Qt 5.1. На данный момент я пытаюсь запустить osk-клавиатуру с QProzess вроде: QProcess * myProcess = new QProcess (this); Аргументы QStringList; myProcess-> start ("osk", аргументы); но это не работает с osk, с calc, например, он работает. Я не знаю почему. –

ответ

2

Хорошо я решил проблему, с:

QProcess *process = new QProcess(this); 
    QString program = "explorer.exe"; 
    QString folder = "C:\\Windows\\System32\\osk.exe"; 
    process->start(program, QStringList() << folder); 

я могу вызвать OSK клавиатуру во внешнем процессе. С сигналом/слотом в поле textInput я вызываю функцию, которая запускает этот процесс.

Благодарим за помощь.

+0

... и что приводит к появлению введенного текста в текстовом режиме ?? –

+0

в методе onClicked задает текстовое поле.focus = true; textfield.forceActiveFocus(); и текст появляется в поле textInput. –

+0

Для окна 10 используйте 'C: \ Program Files \ Common Files \ Microsoft Shared \ Ink \ TabTip.exe' :) – mlvljr

Смежные вопросы