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. 信息安全系统设计基础家庭作业
  2. 建站四部曲之前端显示篇(React+上线)
  3. Arthas 用户文档
  4. docker部署django项目、mysql主从搭建、django实现读写分离
  5. 【机器视觉】 dev_close_tool算子
  6. 【Spring学习】ring的core模块应用详解
  7. 腾讯GaiaStack容器平台负责人罗韩梅:All on GaiaStack
  8. Spark Mllib里的如何对两组数据用斯皮尔曼计算相关系数
  9. maven aliyun 仓库速度就是快
  10. 读书:《带人的技术》
  11. idea+java+selenium自动化测试环境搭建
  12. SU插件|TopoShaper生成地形 免费下载及介绍(SketchUp草图大师必备)!
  13. ps怎么对比原图快捷键_ps快捷键对比
  14. 学编程的学习技巧_快速学习编程的10个关键技巧
  15. linux office 永中,永中Office Linux版
  16. 重装系统ie无法解析服务器名称,教你解决ie浏览器打不开的方法
  17. 如何注册ArcGIS教学试用版账号
  18. nlp-问答任务-抽取式问答
  19. (十四)懈寄生(3)
  20. unifiedorder php签名错误,pay_unifiedorder返回报{return_code=FAIL, return_msg=签名错误} 麻烦帮看看什么问题?...

热门文章

  1. jquery给input赋值val(val)
  2. 将图片嵌入Markdown文档
  3. 股票量化的含义是什么?
  4. RPC服务器不可用的解决办法
  5. 初二因式分解奥数竞赛题_初中数学竞赛指导:因式分解竞赛题例析
  6. 读姜奇平blog有感
  7. php工程师需要掌握的知识体系
  8. 亚马逊云科技依托人工智能进行游戏数据分析,解决游戏行业痛点,助力游戏增长
  9. 服务器蓝屏显示7f,远程登录服务器时容易0x7f蓝屏
  10. 再见了,AI!再见了,人工智能!