QT5.7以上版本源码自带qtvirtualkeyboard虚拟键盘插件,也可以将这个目录复制到Qt5.6环境中进行编译安装(Qt5.6是没有这个插件的)
1 编译插件
-
下载QT5.7
的源代码,http://download.qt.io/archive/qt/5.7/5.7.0/single/ -
解压后进入qtvirtualkeyboard目录,
qmake -r CONFIG+=“lang-en_GB lang-zh_CN”
注意:要带引号 -
输入命令 make
-
输入命令 make install 进行安装,会安装到QTDIR/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so
QTDIR/qml/QtQuick/Enterprise/VirtualKeyboard -
现在可以在自己的程序中调用了,在main函数第一行首先加入
qputenv(“QT_IM_MODULE”, QByteArray(“qtvirtualkeyboard”));
2 部署
- 新建一个目录如C:\test
2.拷贝目录QTDIR\bin\下面的dll文件到C:\test,基本的dll文件有下面几个:
libgcc_s_dw2-1.dll
libstdc+±6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5Qml.dll
Qt5Quick.dll
Qt5Svg.dll
Qt5Widgets.dll
- 拷贝目录QTDIR\plugins\下面的3个目录到C:\test
imageformats
platforminputcontexts
platforms
- 拷贝目录QTDIR\qml\下面的5个目录到C:\test
Qt
QtGraphicalEffects
QtQml
QtQuick( 注意检查是否有:QtQuick/Enterprise/VirtualKeyboard)
QtQuick.2
此时你打开basic.exe,你会发现键盘出现了,空格键也显示简体中文,但是一旦你输入中文,没有候选中文。这是因为你还有最后的一件事没有做好。
- 在exe目录下,新建一个名为qt.conf的文件,文件内容为
[Paths]
Prefix=.
怕你看不清楚,加粗变红了。【Prefix后面有一个点】
这个文件一定要ANSI格式,最简单的方法就是用记事本书写保存就可以。
3 优化
这个虚拟键盘默认占据半个屏幕,而且不能放大缩小,不能拖动,可以稍微进行优化修改,您可以参考这篇文章
https://blog.csdn.net/i7891090/article/details/76040368