Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
qtvirtualkeyboard 文档:
https://doc.qt.io/archives/qt-5.10/qtvirtualkeyboard-index.html
qtvirtualkeyboard开发指导:
https://doc.qt.io/qt-5/qtvirtualkeyboard-build.html#
https://doc.qt.io/qt-5/qtvirtualkeyboard-deployment-guide.html#
qtvirtualkeyboard 工程源码和例程:
https://code.qt.io/cgit/qt/qtvirtualkeyboard.git/
https://doc.qt.io/qt-5/qtvirtualkeyboard-basic-example.html#
首先, 在bsp包中使能qtvirutalkeyboard的简体中文输入法, 修改build/conf/local.conf, 增加以下内容
PACKAGECONFIG_append_pn-qtvirtualkeyboard = " lang-zh_CN"
"lang-zh_CN"设置根据https://doc.qt.io/qt-5/qtvirtualkeyboard-build.html中的表格得到。
参考以下文档给qt程序添加中文字体支持:
为QT程序添加字体 / Add font for QT Application
为qt程序导入键盘插件:
导入QT_IM_MODULE环境变量
export QT_IM_MODULE=qtvirtualkeyboard
或者在qt程序的main()函数中添加以下源码
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
在文本编辑GUI中创建InputPanel:
在qt程序中, 创建了文本编辑控件后, 运行该qt程序时,点击文本编辑控件时, 并不会自动弹出键盘.
InputPanel是虚拟键盘的UI.
创建文本编辑控件之后, 要使用qt的虚拟键盘来输入文本时, 就需要在该GUI的框架中再创建InputPanel的控件.
键盘的大小会自动根据可用宽度来计算, 并且键盘的长宽比是固定的.
import QtQuick 2.0 import QtQuick.VirtualKeyboard 2.1 Item { id: root Item { id: appContainer anchors.left: parent.left anchors.top: parent.top anchors.right: parent.right anchors.bottom: inputPanel.top ... } InputPanel { id: inputPanel y: Qt.inputMethod.visible ? parent.height - inputPanel.height : parent.height anchors.left: parent.left anchors.right: parent.right } }
QtQuick工程经过以上修改后, qt键盘就会增加拼音输入法.