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

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

demo.gif

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

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. 代码添加
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
  1. Qml文件导入模块
import QtQuick.VirtualKeyboard 2.1
  1. TextInput派生类类带有TextInput派生类的控件获得输入焦点即可调用出虚拟键盘

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

  • 设置inputMethodHints变量即可
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 预览

  • 默认键盘
main_page.png
  • 数字键盘
main_page2.png
  • 数字键盘 + 逻辑符号键盘
main_page3.png
  • 支持切换输入法
main_page4.png

0x03 关于更多

  • QtCreator软件可以找到:
what_find.png
  • 或在以下Qt安装目录找到:
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\virtualkeyboard\basic
  • 相关链接
https://doc.qt.io/qt-5/qtvirtualkeyboard-basic-example.html
  • Qt君公众号回复『Qt示例』获取更多内容。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《Qt 学习之路 2》原文地址 Qt跨平台策略 GUI 模拟:任何平台都提供了图形绘制函数,例如画点、画线、画面等...
    CharlesZhangCh阅读 6,213评论 0 5
  • 15.4 普通 Qt 课程 QObject 类构成了 Qt 的基础,但框架中还有更多的类。在我们继续关注 QML ...
    赵者也阅读 5,265评论 0 3
  • 2.概览 本章将介绍如果开始使用 Qt 5 进行开发。将展示如何安装 Qt SDK,以及如何使用 Qt Creat...
    赵者也阅读 5,400评论 3 2
  • 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术...
    你的社交帐号昵阅读 12,794评论 0 10
  • 最近海贼追到了735集,打算不追了,等着养肥了再追。其实这算是一篇临时起意的文章,本来想给这个文章起一个高大上的名...
    索大不麋鹿阅读 2,642评论 0 0