Windows下QT使用VirtualKeyboard键盘
公司最新的项目要使用QT,快不惑年纪的年龄学下QT怎么玩...之前虚拟键盘的问题在Linux下编译使用,老是发现模块没有找到,反正都是学习下使用,所以还是找了下Windows下的QT的版本如何使用,直接上菜~在main.cpp中设置:qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));使用这种方式必须在QGuiApplication a
公司最新的项目要使用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的版本,可以使用.
更多推荐
所有评论(0)