首先:我们将安装目录中的qtvirtualkeyboard源码找到

qt5.8编译虚拟键盘源码_qt


为了方便我们把源码拷贝到桌面上,

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

添加下面一段代码:

        property real mouseXTMP: 0

property real mouseYTMP: 0
MouseArea {
anchors.fill: parent
onPressed: {
mouseXTMP = mouseX
mouseYTMP = mouseY
}
onPositionChanged: {
inputPanel.x = mouseX + inputPanel.x - mouseXTMP
inputPanel.y = mouseY + inputPanel.y - mouseYTMP
}
}

接下来,修改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

接着,用qt5.8打开源码工程

qt5.8编译虚拟键盘源码_sed_02

紧接着,我们需要编译哪些输入语言
打开vs2013的命令行工具,管理员权限运行,cd到qtvirtualkeyboard目
录,执行qmake CONFIG+=“lang-en_GB lang-zh_CN”,其他语言自己加
然后执行nmake,
然后执行nmake install 安装

qt5.8编译虚拟键盘源码_命令行工具_03


接着就很简单了,qmake一下,重新构建就行了最后,我们把生成的插件拷贝到安装目录中

qt5.8编译虚拟键盘源码_命令行工具_04

qt5.8编译虚拟键盘源码_qt_05


注意,这里只拷贝qml文件夹,和plugins文件夹就行了