当前位置: 首页 > 网络知识

Qt QML 虚拟键盘(VirtualKeyboard )

时间:2026-01-29 09:26:36

简介

Qt 官方开源了一个虚拟键盘的示例,该示例提供两种使用方式:一种用于桌面平台,另一种用于嵌入式平台,示例采用嵌入式平台方式显示。它们区别是前者脱离窗口应用于全局,后者依附于窗口。

C:\Qt\\Examples\\virtualkeyboard\basic
doc.qt.io/qt5/qtvirtualkeyboardbasicexample

使用

(1)先在 .pro 文件中添加插件:

1 QT += quickwidgets 2 CONFIG += link_pkgconfig 3 4 # 使用静态插件 5 static

(2)在 mainpp 中添加以下代码,但要在QApplication a(argc, argv);前面:

qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

(3)最后 QML 文件导入模块:

import QtQuick.VirtualKeyboard 2.1

然后 TetxInput 派生类的控件,获得焦点即可调出虚拟键盘(桌面平台)。

根据不同的输入方式显示不同的键盘

1 TextField

常用值有:

改写demo

这是我根据示例修改的一个 QML demo(嵌入式平台),代码如下:

1 import QtQuick 2.10 2 import QtQuick.Window 2.3 3 import QtQuickontrols 2.3 4 import QtQuick.VirtualKeyboard 2.1 5 import QtQuick.VirtualKeyboard.Settings 2.1 6 7 Window 19 20 TextField 37 38 // 当选择输入框的时候才显示键盘 39 onPressed: 44 } 45 46 TextField 64 // 当选择输入框的时候才显示键盘 65 onPressed: 70 } 71 72 property int inputX: 0 // 键盘x坐标(动态) 73 property int inputY: root.height // 键盘y坐标(动态) 74 75 // 嵌入式虚拟键盘 76 InputPanel 97 } 98 99 Cponent.onCpleted: 103 104 // 这种集成方式下点击隐藏键盘的按钮是没有效果的,只会改变active,因此我们自己处理一下 105 onActiveChanged: 107 } 108 } 109 110 }

效果如下:



上一篇:Qt QTabWidget 改变tabBar位置 并改变文字方向
下一篇:Qt QTabWidget 竖向 QTabBar横向
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素