1.主函数导入模块
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
这时候debug,点lineedit就会弹出虚拟键盘了。
ps:qlineedit文本类型决定输入法显示风格,默认是全功能键盘可以切换。
minLineEdit->setInputMethodHints(Qt::ImhDigitsOnly);
这样就是一个小键盘
2.windeployqt导入依赖,打开mingw
输入
windeployqt ND-Camera.exe
发现程序正常运行,键盘不挑出来,需要加入依赖。windeployqt倒进来的依赖不全
3.手动添加plugins文件夹依赖
把D:\Qt\5.15.2\mingw81_32\plugins\platforminputcontexts和D:\Qt\5.15.2\mingw81_32\plugins\virtualkeyboard都导入到exe文件夹根目录,新建文件夹plugins里面
不导入这个D:\Qt\5.15.2\mingw81_32\plugins\virtualkeyboard,键盘没有中文输入
4.手动添加qml文件夹依赖
D:\Qt\5.15.2\mingw81_32\qml里面的Qt,QtQuick,QtQuick.2复制进来,也要在exe文件夹根目录新建qml文件夹
5.release版本可以弹出虚拟键盘了,打包
QT程序打包成可执行exe文件_qt打包成可执行程序-CSDN博客
备注:使用windeployqt.exe也可以直接添加全部依赖,但是我没看懂
https://stackoverflow.com/questions/47938048/activation-and-deployment-of-qvirtualkeyboard-in-windows
目前开发机打包的release可以调出虚拟键盘,复制到win7上面不显示键盘,有空研究一下
On other computers, the release version cannot use qtvirtualikeyboard | Qt Forum
//houyawei 2024.10.30