我正在尝试为使用QT/C++开发的应用程序打开Windows屏幕键盘。我目前有一个自定义的屏幕键盘,但在所有屏幕尺寸下都不太好看,因此我想使用Windows本机的键盘。我希望在文本框上有输入焦点时自动弹出键盘。我对C++很熟悉,但是对QT还不太了解。我查看了一些类似的问题,但似乎这些解决方案并没有多大帮助。
编辑:以下解决方案无法打开键盘。它们编译没有错误,但实际上并没有打开osk。
编辑:以下解决方案无法打开键盘。它们编译没有错误,但实际上并没有打开osk。
void MainWindow::on_Button_released()
{
ui->Button->setChecked(true);
//Attempt 1
//ShellExecute( NULL, NULL, L"osk.exe", NULL, NULL, SW_SHOW );
//Attempt 2
/* QObject *parent;
QString program = "./osk.exe";
QStringList arguments;
//arguments << "-b" << "-t" << "input.txt";
QProcess *myProcess = new QProcess(parent);
myProcess->start(program);//, arguments);
*/
//Attempt 3
/* QProcess *process = new QProcess(this);
QString file = QDir::homepath + "/tabtip.exe";
process->start(file);
*/
//Attempt 4
/*
QProcess::execute ("start C:\\Windows\\System32\\osk.exe");
*/
//Attempt 5
system ("start C:\\Windows\\System32\\osk.exe");
}
第五次尝试出现了一个错误,详细说明文件找不到,并建议检查是否已正确指定路径。我已经验证了路径,osk.exe可以很好地运行,但无法从我的应用程序中执行。