作者使用的是qt5.6版本,一开始以为5.6不支持虚拟键盘,因为在官方网站上下载的源代码编不过,但是后来灵机一动,找到了github上的qt仓库,顺利下载了qt5.6版本的虚拟键盘,一次性编译通过。
github地址:
https://github.com/qt/qtvirtualkeyboard/tree/5.6
编译和部署过程可以参照qt官方文档:
http://doc.qt.io/qt-5/qtvirtualkeyboard-index.html
简单地说就是qmake,make ,make install.就可以了
然后在引用虚拟键盘的时候需要在main函数加入
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
这段语言。
然后在你的程序中加入textField ,我这里用的是qml,如果是widget应该是lineEdit.
我显示在windows下测试的,现象很完美,点击textfield之后,虚拟键盘就弹出了。
然后我将程序部署到嵌入式linux下,运行之后,崩溃。键盘没有弹出。程序直接崩溃。
报错:
Application stops with 'EGLFS: OpenGL windows cannot be mixed with others.'
这句话的意思是opengl下不可以弹出多个windo