Qt有自己的虚拟键盘的插件,使用起来也非常方便,这里介绍在QtQuick中的使用方法。</>

键盘的集成方式

虚拟键盘的集成有两种方式:

  1. 键盘出现在桌面,即系统的屏幕上,键盘的宽度等于屏幕的宽度,不依赖于app的宽度。
  2. 键盘嵌入到我们的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 使用自带虚拟键盘相关推荐

  1. qt qml virtrulKeyBoard custom style 虚拟键盘自定义样式方法

    今天我把纠结了好几天的qml自带的虚拟键盘自定义样式的功能实现了,成功修改键盘的样式颜色. 首先把官网的文档先复制一下, 后面会写我自己的实际操作方法, 英文水平真的很重要!!! Keyboard S ...

  2. ARM Linux QT虚拟键盘的系列问题

    最近在做Linux系统的虚拟键盘功能,其中遇到很多问题,在此一一记录. 使用的系统平台为ARM Ubuntu18.04的系统,安装的QT版本为5.9.5,使用指令安装QT,安装后该版本QT默认不带虚拟 ...

  3. linux下qt虚拟键盘

    本文编译使用qt5.7源码自带虚拟键盘 步骤如下: 1.下载Qt5.7源码 http://download.qt.io/official_releases/qt/5.7/5.7.0/single/qt ...

  4. 屏幕适配之带虚拟按键手机屏幕适配

    最近,在项目开发中遇到带虚拟按键屏幕适配的问题.例如,华为P9.小米MAX等机型,整个屏幕的布局都往上了,觉得应该是虚拟按键的问题.所以,经过一番折腾,找到如下解决方案: 获取屏幕实际显示尺寸高度 / ...

  5. Qt:5.7虚拟键盘中拼音输入法的使用

    引言 在Qt5.7中,以前只有企业版才有的虚拟键盘,终于可以在开原版中使用了. 但是默认的Qt安装包,安装出来的虚拟键盘,是不包含拼音输入法的,这里我来说下怎么打开拼音的支持,以及使用了虚拟键盘后,项 ...

  6. Win7系统虚拟键盘打开的方法

    有时候自己的键盘使用久了以后经常会突然坏掉,这个时候我们可以开启电脑自带虚拟键盘来解燃眉之急.那么Win7的虚拟键盘该怎么打开?今天就和小编一起来看看Win7系统虚拟键盘打开的方法吧. Win7系统虚 ...

  7. LABVIEW 虚拟键盘 触摸键盘 中英文输入 支持WIN10 WIN7

    当labview打包后在工业触摸电脑上运行,一旦需要修改参数,便有一个头疼的问题: 1.要么接键盘鼠标,那么便失去了触屏的优势,设备或仪器结构也不够简洁美观: 2.要么使用系统自带虚拟键盘,键盘有时会 ...

  8. labview 虚拟键盘 触摸键盘 vi源码

    labview 虚拟键盘 触摸键盘 vi源码. 中英输入 支持win10和win7. 特别注意:开发环境版本2017及以上:WIN10系统下,labview开发软件 或生成的exe,必须以管理员运行 ...

  9. 用Qt在Iinux上开发一个带UI的工业控制系统,应该用C++还是QML

    用Qt在Iinux上开发一个带UI的工业控制系统,应该用C++还是QML? 之前有人推荐说要用QML,QtQuick来开发.可是学习了一段时间对于QML和C++的混合编程还是不甚理解,觉得还是应该用C ...

最新文章

  1. 0011_练习题d1
  2. VUE还没生效,页面闪屏的问题解决办法 v-cloak
  3. SpringMVC调用接口一直乱码
  4. 自主定义适合自己的Keil主题
  5. 《Head First Python》第五章--理解数据
  6. Django完整配置settings.py
  7. 主板网卡灯关机后还亮_achair的电脑桌面2019 第2集 (机箱风道,Intel无线网卡……)...
  8. 解决Charles Response 中文乱码
  9. AntDesign Upload组件上传图片
  10. android gps开发必备资料(含测试demo下载)
  11. 事事有着落,件件有回音——MyAppsp平台督查督办管理系统
  12. 在线文档方案---Google docs
  13. NPDP产品经理小知识:端到端的流程建设与跨职能团队管理
  14. 电商API店铺订单接口(代码对接教程)
  15. 河南IT人物之 李少杰
  16. 鸿蒙系统休眠时间,关闭系统休眠功能利弊
  17. 简述计算机数控系统的工作原理,计算机数控系统复习题-20210321010307.docx-原创力文档...
  18. FPGA课程设计——数字电子时钟VERILOG(基于正点原子新起点开发板,支持8位或6位共阳极数码管显示时分秒毫秒,可校时,可设闹钟,闹钟开关,led指示)
  19. C++协程(二):Understanding operator co_await
  20. Pyqt5 pandas matplotlib network自用操作

热门文章

  1. PHP:使用curl请求聚合支付的驾考宝典题库接口数据, 并渲染到页面上;composer 常用的指令;mvc pathinfo 路由映射实现
  2. Synchronized锁膨胀机制
  3. 免费编辑pdf的方法,想在这里分享一下
  4. 一年之计在于春,用友能源耕云计划全国行成都站圆满结束
  5. dede diy.php查询数据,织梦二次开发数据库操作查询、插入、更新、删除实例
  6. libreoffice 控制台指令将文档转换为pdf
  7. 低代码南瓜树数据平台产品说明书
  8. Free Software vs. Open Source
  9. 删除excel 中的文本框
  10. 计算机硬件技术基础mooc,中国大学 MOOC_计算机硬件技术基础_2020章节测试答案