由于项目中有需要用到虚拟键盘,首先想到的是系统自带的,笔者是Ubuntu16+Qt5.9。
1.系统虚拟键盘的优缺点:
优点:直接可以脚本调起,功能完善,稳定。外观完美。
缺点:定制麻烦(详情看onboard帮助文档,英文),要想像手机那样用时自动显示,不用时自动隐藏,需要先设置系统的输入法,而且需要GNome的辅助功能支持。
2.Qt5已经有自带输入法了。Qt安装的时候就有一个virtualkeyboard选项,安装即可,编译生成完了,会在安装目录的plugins/plaforminputcontexts目录下。
优点:美观,方便,功能完善,跨平台,支持中文
缺点:定制的话在于改源代码的能力了,这是一个基于qml开发的插件,所以如果是widget使用的话需要用qquickwidget组件包装才能正常调出键盘。
3.自己写一个plaforminputcontextsplugin
这个呢,非常感谢下面两篇连接的作者,链接如下: