首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Qt官方示例-虚拟键盘使用

Qt官方示例-虚拟键盘使用

作者头像
Qt君
发布2019-12-16 10:34:29
发布2019-12-16 10:34:29
5.3K0
举报
文章被收录于专栏:跟Qt君学编程跟Qt君学编程

这是一个使用Qt虚拟键盘的QML文本输入示例。

  该示例提供两种使用方式:一种用于桌面平台,另一种用于嵌入式平台,本例采用嵌入式平台方式显示。它们区别是前者脱离窗口应用于全局,后者依附于窗口。

代码语言:javascript
复制
disable-desktop|android-embedded|!isEmpty(CROSS_COMPILE)|qnx {
    DEFINES += MAIN_QML=\\\"basic-b2qt.qml\\\" # 采用了自定义的虚拟键盘的InputPanel,可以依附窗口。
} else {
    DEFINES += MAIN_QML=\\\"Basic.qml\\\"      # 独立于窗口
}

0x00 使用(Qt5.7版本以上)

  1. 代码添加
代码语言:javascript
复制
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
  1. Qml文件导入模块
代码语言:javascript
复制
import QtQuick.VirtualKeyboard 2.1
  1. TextInput派生类类带有TextInput派生类的控件获得输入焦点即可调用出虚拟键盘。

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

  • 设置inputMethodHints变量即可
代码语言:javascript
复制
TextField {
    id: digitsField
    width: parent.width
    placeholderText: "Digits only field" /* 输入为空时显示的提示文字 */
    inputMethodHints: Qt.ImhDigitsOnly   /* 输入策略 */
    enterKeyAction: EnterKeyAction.Next  /* 键盘确定键策略 */
    onAccepted: textArea.focus = true    /* 结束输入操作行为 */
}
  • 常用值有:

inputMethodHints

描述

ImhNone

默认键盘(默认值)

ImhDigitsOnly

数字键盘

ImhUppercaseOnly

大写键盘

ImhLowercaseOnly

小写键盘

ImhFormattedNumbersOnly

数字键盘 + 逻辑符号键盘

0x02 预览

  • 默认键盘
  • 数字键盘
  • 数字键盘 + 逻辑符号键盘
  • 支持切换输入法
0x03 关于更多
  • 在QtCreator软件可以找到:
  • 或在以下Qt安装目录找到:
代码语言:javascript
复制
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\virtualkeyboard\basic
  • 相关链接
代码语言:javascript
复制
https://doc.qt.io/qt-5/qtvirtualkeyboard-basic-example.html
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 使用(Qt5.7版本以上)
  • 0x01 根据不同的输入方式显示不同的键盘
  • 0x02 预览
    • 0x03 关于更多
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档