Qt 5.9 qml 使用自带虚拟键盘
Qt有自己的虚拟键盘的插件,使用起来也非常方便,这里介绍在QtQuick中的使用方法。</>
键盘的集成方式
虚拟键盘的集成有两种方式:
- 键盘出现在桌面,即系统的屏幕上,键盘的宽度等于屏幕的宽度,不依赖于app的宽度。
- 键盘嵌入到我们的app中去,键盘的宽度等于我们app的宽度。
加载插件
加载虚拟键盘的插件我们需要设置QT_IM_MODULE环境变量。有两种方法设置:
$ QT_IM_MODULE=qtvirtualkeyboard myapp
比如:
或者在main.cpp中设置:
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
<font face =黑体" size= 4> 注意:
使用这种方式必须在QGuiApplication app(argc, argv)之前:
int main(int argc, char *argv[])
{qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));QGuiApplication app(argc, argv);QQmlApplicationEngine engine;engine.load(QUrl(QStringLiteral("qrc:/main.qml")));if (engine.rootObjects().isEmpty())return -1;return app.exec();
}
第一种集成方式
只需要导入键盘模块:
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
import QtQuick.VirtualKeyboard 2.2Window {visible: truewidth: 640height: 480title: qsTr("Hello World")TextField {anchors.top: parent.topanchors.horizontalCenter: parent.horizontalCenter}
}
当我们点击TextField的输入框的时候就会自动调出键盘:
第二种集成方式
需要创建一个InputPanel控件:
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
import QtQuick.VirtualKeyboard 2.2Window {visible: truewidth: 640height: 480title: qsTr("Hello World")TextField {anchors.top: parent.topanchors.horizontalCenter: parent.horizontalCenteronPressed: {vkb.visible = true; //当选择输入框的时候才显示键盘}}InputPanel {id: vkbvisible: falseanchors.right: parent.rightanchors.left: parent.leftanchors.bottom: parent.bottom//这种集成方式下点击隐藏键盘的按钮是没有效果的,//只会改变active,因此我们自己处理一下onActiveChanged: {if(!active) { visible = false; }}}
}
这种看着就比较舒服一些。
我们还可以自己更改虚拟键盘的源码,更改它的宽度高度,按键大小,可移动等等然后编译,有时间再写一篇吧。。。</>
Qt 5.9 qml 使用自带虚拟键盘相关推荐
- qt qml virtrulKeyBoard custom style 虚拟键盘自定义样式方法
今天我把纠结了好几天的qml自带的虚拟键盘自定义样式的功能实现了,成功修改键盘的样式颜色. 首先把官网的文档先复制一下, 后面会写我自己的实际操作方法, 英文水平真的很重要!!! Keyboard S ...
- ARM Linux QT虚拟键盘的系列问题
最近在做Linux系统的虚拟键盘功能,其中遇到很多问题,在此一一记录. 使用的系统平台为ARM Ubuntu18.04的系统,安装的QT版本为5.9.5,使用指令安装QT,安装后该版本QT默认不带虚拟 ...
- linux下qt虚拟键盘
本文编译使用qt5.7源码自带虚拟键盘 步骤如下: 1.下载Qt5.7源码 http://download.qt.io/official_releases/qt/5.7/5.7.0/single/qt ...
- 屏幕适配之带虚拟按键手机屏幕适配
最近,在项目开发中遇到带虚拟按键屏幕适配的问题.例如,华为P9.小米MAX等机型,整个屏幕的布局都往上了,觉得应该是虚拟按键的问题.所以,经过一番折腾,找到如下解决方案: 获取屏幕实际显示尺寸高度 / ...
- Qt:5.7虚拟键盘中拼音输入法的使用
引言 在Qt5.7中,以前只有企业版才有的虚拟键盘,终于可以在开原版中使用了. 但是默认的Qt安装包,安装出来的虚拟键盘,是不包含拼音输入法的,这里我来说下怎么打开拼音的支持,以及使用了虚拟键盘后,项 ...
- Win7系统虚拟键盘打开的方法
有时候自己的键盘使用久了以后经常会突然坏掉,这个时候我们可以开启电脑自带虚拟键盘来解燃眉之急.那么Win7的虚拟键盘该怎么打开?今天就和小编一起来看看Win7系统虚拟键盘打开的方法吧. Win7系统虚 ...
- LABVIEW 虚拟键盘 触摸键盘 中英文输入 支持WIN10 WIN7
当labview打包后在工业触摸电脑上运行,一旦需要修改参数,便有一个头疼的问题: 1.要么接键盘鼠标,那么便失去了触屏的优势,设备或仪器结构也不够简洁美观: 2.要么使用系统自带虚拟键盘,键盘有时会 ...
- labview 虚拟键盘 触摸键盘 vi源码
labview 虚拟键盘 触摸键盘 vi源码. 中英输入 支持win10和win7. 特别注意:开发环境版本2017及以上:WIN10系统下,labview开发软件 或生成的exe,必须以管理员运行 ...
- 用Qt在Iinux上开发一个带UI的工业控制系统,应该用C++还是QML
用Qt在Iinux上开发一个带UI的工业控制系统,应该用C++还是QML? 之前有人推荐说要用QML,QtQuick来开发.可是学习了一段时间对于QML和C++的混合编程还是不甚理解,觉得还是应该用C ...
最新文章
- 信息安全系统设计基础家庭作业
- 建站四部曲之前端显示篇(React+上线)
- Arthas 用户文档
- docker部署django项目、mysql主从搭建、django实现读写分离
- 【机器视觉】 dev_close_tool算子
- 【Spring学习】ring的core模块应用详解
- 腾讯GaiaStack容器平台负责人罗韩梅:All on GaiaStack
- Spark Mllib里的如何对两组数据用斯皮尔曼计算相关系数
- maven aliyun 仓库速度就是快
- 读书:《带人的技术》
- idea+java+selenium自动化测试环境搭建
- SU插件|TopoShaper生成地形 免费下载及介绍(SketchUp草图大师必备)!
- ps怎么对比原图快捷键_ps快捷键对比
- 学编程的学习技巧_快速学习编程的10个关键技巧
- linux office 永中,永中Office Linux版
- 重装系统ie无法解析服务器名称,教你解决ie浏览器打不开的方法
- 如何注册ArcGIS教学试用版账号
- nlp-问答任务-抽取式问答
- (十四)懈寄生(3)
- unifiedorder php签名错误,pay_unifiedorder返回报{return_code=FAIL, return_msg=签名错误} 麻烦帮看看什么问题?...