最近使用了下面楼主的虚拟键盘,总体还是挺好用的,只是有几个地方,需要完善下。
基于Qt的可用于嵌入式的虚拟键盘_偷段代码的博客-CSDN博客_qt 嵌入式虚拟键盘这几天完成了一个基于Qt的虚拟键盘的编写,记录一下过程与感受,希望能帮助到小伙伴,因为本人也是刚刚入行不久,所以有不对的地方,还希望各路大神指点迷津。不喜勿喷!!!1. UI绘制在这里,整个widget设置为Vertical Layout,然后添加一个button作为Space按键,在Space按键上方添加一个widget,设置为Grid Layout,再一次添加button,在这里要注意一点,为了使button能够适应屏幕大小,需要所有的button的水平策略属性设置为Ignored 垂直策略设置为https://blog.csdn.net/weixin_44624327/article/details/120360608原先代码 keyboard.cpp 中,以下两处代码需要修改:
第一处:添加Qt::WindowDoesNotAcceptFocus,这样虚拟键盘不抢焦点,使得我们在输入的时候,原先的编辑框依然有光标闪烁。
setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint |Qt::WindowDoesNotAcceptFocus);
第二处:作者代码如下,SIGNAL(focusChanged(QWidget* QWidget*) 形参中,两个形参之间要加逗号,第一个参数是失去焦点的控件,第二个是获得焦点的控件。
connect(qApp, SIGNAL(focusChanged(QWidget* ,QWidget*)),
this, SLOT(slot_onApplicationFocusChanged(QWidget*,QWidget*)));