首页 > 其他分享 >Qt 开源虚拟键盘推荐

Qt 开源虚拟键盘推荐

时间:2023-07-11 16:34:06浏览次数:41  
标签:虚拟 Qt 键盘 开源 拼音输入 com

在嵌入式开发时,不能通过鼠标键盘输入是很常见的。这时候就需要通过软件层,实现软键盘和输入法来满足用户需求。不过不需要自己造轮子,网上有很多可以参考的开源虚拟键盘,即使不完全符合自己要求,也可以参考着修改下。

下面介绍本人推荐的几个虚拟键盘,如果有侵权,可以联系删除或整改。

开源虚拟键盘推荐

推荐1

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

img


  • 优点:官方开源的虚拟键盘,支持英文、日语、法语、意大利语等多种语言,底层使用谷歌输入法,支持模糊拼音,拼写很智能。

  • 缺点:QML 实现,如果项目 UI 是用 QWidget 实现的话,不好嵌入;支持太多语言是把双刃剑,有时候只需要支持中英文,还要额外修改编译为只支持中英文;通过插件的形式嵌入,修改起来较为麻烦;开源版本与商业版本有差距,例如支持手写方面。

  • 下载地址:https://github.com/aeagean/QtKeyboard


推荐2

Qt君 开源的轻量级 Qt 键盘,介绍博客:轻量级Qt键盘-介绍篇 (qq.com)

img


  • 优点:纯 QWidget 实现,界面美观简洁,嵌入方便无需额外编译,博客介绍详细方便二次修改。

  • 缺点:中文拼音输入法基于 pinyin.txt 和 pinyin_phrase.txt 字库文本实现,所以未能实现模糊算法,没有其它使用谷歌拼音输入法的虚拟键盘那么智能。

  • 下载地址:https://github.com/aeagean/QtKeyboard


推荐3

风刮过冷大神提供的虚拟键盘,仿 Qt 官方的 virtualkeyboard 模块,但使用 QWidget 实现。

输入图片说明



推荐4

onlyshi 大神提供的开源虚拟键盘,重点在于支持了安卓底层的谷歌拼音输入法,介绍博客为:Qt5软键盘实现中文拼音输入法

软件截图


  • 优点:支持了安卓底层的谷歌拼音输入法,拼写很智能。

  • 缺点:直接嵌入到项目中的话,源码文件太多,除非单独把谷歌拼音输入法编译成静态库。

  • 下载地址:基于Qt5的虚拟键盘_KeyboardForm资源-CSDN文库 (本人已下载好,若有需要可以联系我)


不开源的虚拟键盘推荐

下面还介绍一个不开源的虚拟键盘,具体介绍博客为:Qt编写输入法V2018超级终结版

如果需要源码可自行联系其作者,或寻找其它途径。

img


  • 优点:纯 QWidget 编写(用到了 ui 编辑器),界面清晰简洁,UI 美观友好。
  • 缺点:不开源,字库文件庞大,高达 25MB,虽然支持的词组够多,但不支持智能模糊拼音,与使用谷歌拼音的 Qt 官方虚拟键盘还有差距。

其它虚拟键盘

Qt 虚拟键盘 QtVirtualKeyBoard - 知乎 (zhihu.com)

img


QT4、QT5下的 中文联想虚拟键盘(软键盘virtual keyboard) - 简书 (jianshu.com)

img


(19条消息) QT5自定义中英文虚拟键盘_飛越無限的博客-CSDN博客

在这里插入图片描述


总结

  • 在有轮子的情况下,我们千万不要自己造轮子,除非迫不得已。所以一般情况下,不要自己去实现虚拟键盘,费力不讨好;

  • 上面推荐的虚拟键盘都各有优缺点,需要你根据自己项目实际情况选择使用或者修改;

  • 比较推荐将 "推荐1" 和 "推荐4" 结合起来,使用 "推荐1" 的 UI 界面,添加 "推荐4" 的谷歌输入法,这样既美观简洁,又完美支持模糊拼音输入法。


参考:

(19条消息) Qt实现屏幕虚拟软键盘_qt屏幕键盘_三遍猪的博客-CSDN博客

inputmethod: 基于Qt5,支持中文拼音输入、英文输入、数字输入、常用符号输入、手写输入、实体键盘同步 (gitee.com)


标签:虚拟,Qt,键盘,开源,拼音输入,com
From: https://www.cnblogs.com/linuxAndMcu/p/17545151.html

相关文章

  • java连接mqtt总是自动断开的问题排查及解决
    问题描述最近在做一个视频监控平台,要同步下级平台的摄像头信息数据,是通过其他同事写的c++服务往mqtt里推数据,我这边通过java连接mqtt监听主题获取摄像头信息。刚开始写完都还好,但是测试过一段时间,发现javaclient连接总是会自动断开,并且还会有丢失消息的情况。一开始怀疑是网络......
  • SSO oauth2的开源选型
     2、star比较少的几个https://qiita.com/sho-hata/items/a97d4aac3cd2500b11f3https://github.com/authlete/django-oauth-serverhttps://github.com/songrgg/oauth-demo......
  • 单片机扫描矩阵键盘
    采用分时复用的方法,定时置位行,检测列,确定按下的按键,输出不同的按键值。voidKbScanProcess(void){//uint8_tRow=0;//按键所在行//uint8_tCol=0;//按键所在列//uint8_tRowCount=0;//按键触发行的个数,用于判断多个按键按下uint8_tColCount=0;//按键触发列的个数,用......
  • Qt QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联
    0、说明QJsonDocument类提供了read/writeJSON文档的方法。用QJsonDocument::fromJson()方法,可以从将一个JSON文件(或者QByteArray数据)转换为QJsonDocument,用QJsonDocument::toJson()则能起到相反的用法。在此过程中的语法解析是很高效的,并且可以将JSON转换为Qt使用的二......
  • WEB自动化-键盘操作
    实际工作中,按照用户操作习惯,进行的是模拟键盘和鼠标操作WEB。首先,导入键盘操作需要的服务#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2023/6/2617:32#@File:P01-test-selenium.py#@Software:PyCharmfromselenium.webdriverimportKeysdefP......
  • 开源一套接口自动化测试平台,大家一起学习交流
    一、概述Rocket是一款接口自动化测试平台,服务端是Python,前端Vue,源码下载方式放到末尾了。关键依赖:fastapihttprunner(v3.1.11版本)apschedulerelement-ui二、功能模块核心功能模块基本开发完成,可以直接拿来用,一些细节功能待开发,具体如下:系统管理用户管理字典管理......
  • pyqt5-pyqtSignal信号
    1、介绍pyqt项目中,子线程中存在两种需求:子线程结束时,以信号的形式触发事件,调用方法,与ui组件交互子线程运行过程中,持续以信号的形式触发事件,调用方法与ui组件交互可以基于pyqtSignal实现。(189条消息)【python编程】使用pyqtsignal实现消息回调的注意事项_时空worker的博客......
  • Qt QSplitter拆分器
    1.简介QSplitter拆分器允许用户通过拖动子部件之间的边界来控制它们的大小。单个拆分器可以控制任意数量的小部件。QSplitter的典型用法是创建几个小部件,并使用insertWidget()或addWidget()添加它们。2.常用方法 默认情况下,QSplitter会动态调整其子元素的大小。如果您希望QS......
  • GGTalk 开源即时通讯系统源码剖析之:虚拟数据库
    继上篇《GGTalk开源即时通讯系统源码剖析之:服务端全局缓存》详细介绍了GGTalk对需要频繁查询数据库的数据做了服务端全局缓存处理,以降低数据库的读取压力以及加快客户端请求的响应,接下来我们将进入GGTalk服务端的虚拟数据库。GGTalkV8.0除了支持真实的数据库外,还内置了虚......
  • 永磁同步电机pmsm无感foc驱动代码,启动为高频注入,平滑切入观测器高速控制,代码全部手写
    永磁同步电机pmsm无感foc驱动代码,启动为高频注入,平滑切入观测器高速控制,代码全部手写开源,可以移植到各类mcu上。附赠高频注入仿真模型ID:69100646985514964......