300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux qt5.7以上软键盘 Qt5.7以上调用虚拟键盘(支持中文) 以及源码修改(可拖动 水平缩放)...

linux qt5.7以上软键盘 Qt5.7以上调用虚拟键盘(支持中文) 以及源码修改(可拖动 水平缩放)...

时间:2023-06-19 04:02:04

相关推荐

linux qt5.7以上软键盘 Qt5.7以上调用虚拟键盘(支持中文) 以及源码修改(可拖动 水平缩放)...

Qt 5.7及以上版本支持了虚拟键盘的支持,但是这个虚拟键盘太不好用,占据半个屏幕,而且不能放大缩小,不能拖动

首先,下载Qt虚拟键盘源码并解压,并切换到该目录下

然后配置支持中文:

qmake CONFIG+="lang-en_GB lang-zh_CN" ,默认支持英文,lang-zh_CN就是中文支持选项

mingw32-make

mingw32-make install

这样就编译成功,可以用Qt creator打开Qt自带的虚拟键盘例程(basic.pro)可以看到原生的Qt自带的软键盘,很丑,而且不可拖动,不可缩放,占据大半个屏幕

修改源码:

1.设置可拖动;

在virtualkeyboard工程下,找到InputPanel.qml文件

添加下面一段代码:

propertyrealmouseXTMP:0

propertyrealmouseYTMP:0

MouseArea{

anchors.fill:parent

onPressed:{

mouseXTMP=mouseX

mouseYTMP=mouseY

}

onPositionChanged:{

inputPanel.x=mouseX+inputPanel.x-mouseXTMP

inputPanel.y=mouseY+inputPanel.y-mouseYTMP

}

}

然后重新编码mingw32-make;mingw32-make install

重新打开basic示例程序,可以看到键盘可以拖动了,但是拖动到上面就不见了;

接下来,修改keyboard.qml文件:

找到binding选项:修改如下:

Binding{

target:InputContext

property:"keyboardRectangle"

value:Qt.rect(0,

0,

1900,1300)

when:keyboard.active&&!InputContext.animating

}将value修改为自己的分辨率大小就可以了,其他不用改,修改后就可以将软键盘拖动到随意位置了

修改软键盘大小:

找到style.qml(default目录下的):修改下面两项:

keyboardDesignWidth:3060

keyboardDesignHeight:600

但是软键盘不能将宽度缩小,只能将高度变小(对于qml不是很了解,有知道怎么改宽度的请指导下),

重新编译后,就发现软键盘可拖动,并且变小了。

要是有好的改动方法,一起讨论。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。