前言
在嵌入式领域、或者无键盘的WINDOWS显示时,就需要用到软键盘。经过笔者的调研,QT软键盘的方案主要有以下几种。
一.使用QT自带的软键盘
在QT官方Demo中有示例,且必须安装虚拟键盘模块。
参考https://blog.youkuaiyun.com/qq_41340733/article/details/125443595
使用自带键盘的不足之处是,可调整的控件样式和位置有限。
二.使用第三方开发的键盘和输入法
Github上有两个比较好的项目,可供参考。这些键盘集成了一个汉字库,然后进行搜索,或者集成了谷歌拼音。代码相对复杂一些。
https://github.com/xiaoyanLG/Soft-keyboard
https://github.com/aeagean/QtKeyboard
三.自己开发键盘界面,然后调用WINDOWS接口,从而调用搜狗输入法、百度输入法等
这种类似windows的屏幕键盘(ctrl+win+o),网上少有文章阐述了这种方案,目前只找到这一篇。https://www.cnblogs.com/mengxiangdu/p/16926418.html
不调用Windows API的话没法实现,因为使用postEvent和sendEvent发送输入事件时,程序会崩溃。暂时不知道原因。