快捷搜索: 王者荣耀 脱发

Windows下QT使用VirtualKeyboard键盘

公司最新的项目要使用QT, 快不惑年纪的年龄学下QT怎么玩... 之前虚拟键盘的问题在Linux下编译使用,老是发现模块没有找到, 反正都是学习下使用, 所以还是找了下Windows下的QT的版本如何使用, 直接上菜~

在main.cpp中设置:

qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); 使用这种方式必须在QGuiApplication app(argc, argv)之前:

第一种集成方式 只需要导入键盘模块:

import QtQuick 2.6 import QtQuick.Window 2.2 import QtQuick.Controls 2.2 import QtQuick.VirtualKeyboard 2.2

Window { visible: true width: 640 height: 480 title: qsTr("Hello World")

TextField { anchors.top: parent.top anchors.horizontalCenter: parent.horizontalCenter } } 当我们点击TextField的输入框的时候就会自动调出键盘:

第二种集成方式 需要创建一个InputPanel控件:

import QtQuick 2.6 import QtQuick.Window 2.2 import QtQuick.Controls 2.2 import QtQuick.VirtualKeyboard 2.2

Window { visible: true width: 640 height: 480 title: qsTr("Hello World")

TextField { anchors.top: parent.top anchors.horizontalCenter: parent.horizontalCenter onPressed: { vkb.visible = true; //当选择输入框的时候才显示键盘 } }

InputPanel { id: vkb visible: false anchors.right: parent.right anchors.left: parent.left anchors.bottom: parent.bottom //这种集成方式下点击隐藏键盘的按钮是没有效果的, //只会改变active,因此我们自己处理一下 onActiveChanged: { if(!active) { visible = false; } } } }

最后效果如下: 备注,我Windows下使用的QT的版本是5.14的版本,可以使用.

经验分享 程序员 微信小程序 职场和发展