Qt编写精美输入法(历时十年迭代/可换肤/支持Qt4/5/6/win/linux/mac/嵌入式等)

news2024/11/24 6:20:10

一、前言

大概是从2012年就开始研究用Qt写输入法,因为项目需要,嵌入式板子上,没有对应的输入法,当初使用过很多NVR,里面也是鼠标按下弹出输入法面板进行输入,可以切换数字和字母及中文,于是借鉴着操作交互流程,用纯QWidget代码实现一个,当然最初的版本是非常简单和丑陋的,而且功能单一,能打字母数字和出来中文就行了,至于如何的友好如何的人性化,那不是第一步该考虑的问题,后面也是慢慢的随着用户数量的增多,不断用户实际需求的不同,慢慢持续迭代到今天的版本。比如要有自动记忆功能,上一次打过的词语,下一次自动排到最前面显示,再比如能够自定义词语,有些简拼缩写,自动出来自己定义的特殊词语,还有就是支持简繁切换。

二、效果图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、体验地址

  1. 国内站点:https://gitee.com/feiyangqingyun
  2. 国际站点:https://github.com/feiyangqingyun
  3. 个人作品:https://blog.csdn.net/feiyangqingyun/article/details/97565652
  4. 体验地址:https://pan.baidu.com/s/1ZxG-oyUKe286LPMPxOrO2A 提取码:o05q 文件名:bin_input。

四、功能特点

  1. 纯QWidget编写,支持任何目标平台(亲测windows、linux、嵌入式linux等),支持任意Qt版本(亲测Qt4.6.0到Qt6.2),支持任意编译器(亲测mingw、gcc、msvc等),支持任意控件输入包括网页中的输入控件。
  2. 调用极为方便,pri文件调用形式,只要改成文件包含即可,例如pro文件中写 include($$PWD/input2019/input2019.pri)。
  3. 界面清晰简洁,UI美观友好,高仿IOS输入法,非常适合触摸设备。
  4. 顶部滑动选词+弹出汉字面板选词,支持滑动。
  5. 具有记忆功能,之前选中过的词语首先显示,支持单个拼音多个汉字,自动调整优先级。
  6. 具有造词功能,可以直接打开文件文件写入自定义词组,最高级别显示。
  7. 支持数字小键盘,可选是弹出全键盘的数字面板还是小键盘。
  8. 多版面字符页面,可以自行拓展各种字符展示,可用于多语言输入。
  9. 支持Qt程序嵌入的浏览器中的网页中的文本框等控件的输入。
  10. 界面大小随意设置,采用布局自使用任何分辨率。
  11. 属性控制数字输入,例如需要文本框默认弹出的是数字则设置代码 ui->txt->setProperty(“flag”, “number”);
  12. 自由控制需要显示输入法和不需要显示输入法,当某些控件不需要弹出输入法,只需要对应不需要弹出输入法的控件设置属性noinput为真即可。例如ui->txt->setProperty(“noinput”, true);
  13. 界面自适应屏幕大小,输入法弹出位置为控件底部时,当超过桌面右边或者底部时,自动调整位置。
  14. 实现了长按超过500毫秒重复执行按下的键的功能。例如长按退格键,不断删除。
  15. 英文、中文、数字字母、大小写、特殊字符自由切换。
  16. 支持单拼、全拼、模糊拼音输入,智能分页算法,可任意翻页查看汉字词组。
  17. 默认自带5种皮肤颜色,可随意切换,用户也可用QSS自定义皮肤。
  18. 谷歌内核的输入法引擎,品质保证,字库文件1MB,不依赖数据库,资源占用低效率极高。支持模糊拼音,比如nh=你好。
  19. 可选windows专有版本,支持外部程序输入,比如输入到记事本、QQ聊天窗口等。
  20. 整个输入法代码行数1000行左右,非常小,不会对程序增加大小造成负担。
  21. 代码结构极为清晰,注释详细,非常容易阅读和理解,同时也可以自行修改拓展自定义的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/648620.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5大趋势与10大应用场景!未来的智能工厂要这么建...

在经济下行压力、人口红利消失、消费结构升级、疫情冲击等多种因素推动下,制造企业加快转型步伐,工厂正向高效化、智能化、绿色化方向跃迁升级,不断涌现出技术创新、应用领先、成效显著的智能工厂。 近日,中国信息通信研究院发布…

常见的台账在线、可视化数据看板工具

目前已知和常见的一些在线可视化数据看板工具: Trello:Trello 是一种流行且直观的看板工具,可让创建看板、列表和卡片来管理任务和项目。它提供了一个可视化界面,可以在其中跨工作流程的不同阶段拖放卡片。还可以添加截止日期、标…

cesium调用celestrak接口获取卫星数据

celestrak是一家免费开源提供卫星空间数据的非营利性组织 接口调用 import axios from "axios";const BASE_URL "https://celestrak.org";function getTleDataFromExternal(path "") {let uri ${BASE_URL}/NORAD/elements/gp.php?GROUP${…

复习并发编程的基础知识之线程池

并发编程中,线程池是很重要的一块内容。 线程池是一种池化技术,线程池、字符串常量池和数据库链接池都属于池化技术。 使用线程池的好处: 1.提高了线程的利用率(想一想,我们不可能每打一个电话,就去买一部手…

Unity编辑器扩展-第三集-添加按钮到组件菜单并且重置组件

第二集链接:Unity编辑器扩展-第二集-按钮排序/分组/放入右键菜单_菌菌巧乐兹的博客-CSDN博客 一、本节目标效果展示 1.把按钮放到组件菜单上 2.做一个类似Reset功能,点一下能改变里面的数据 二、 把按钮放到组件菜单上 如上图,我的的组件名…

echarts 配置相关

echarts更多模板链接 http://chart.majh.top/ 1、echarts.clear()是清空当前实例,会移除实例中所有的组件和图表。 echarts.dispose()是销毁实例,销毁后实例无法再被使用。 this.chart.dispose() this.chart.clear(); // 清空图表2、series虽然是[] 数…

BRC20赛道的刚需基础设施,BrccSwap如何延续新的造富神话?

引言 BRC20代币和去中心化交易所的背景 BRC20代币赛道的刚需SWAP BrccSwap如何延续新的造富神话 结语 引言 随着加密货币市场的不断发展,BRC20代币和去中心化交易所成为了越来越受欢迎的概念。BRC20代币是建立在比特币区块链上的代币,具有高级别的…

一季度亏损47亿,全系降价背后,蔚来能否实现自救?

降价之后,蔚来能否实现自救? 6月12日,蔚来汽车宣布全系车型起售价减 3 万元;新购车首任车主用车权益调整为整车6年或15万公里质保等;免费换电补能不再作为标准用车权益,新用户可灵活选择在家充电或到充换电…

new Vue后整个的流程

文章目录 new Vue后整个的流程Vue.js 创建应用程序流程概述使用 new Vue() 创建Vue 实例流程概述 new Vue后整个的流程 new Vue({el: #app,render: h > h(App),data() {return {message: hello vue}} }).$mount(#app)Vue.js 创建应用程序流程概述 在使用 Vue.js 创建一个应…

Linux:进程管理

进程:为管理程序的运行,操作系统会给每个运行的程序都注册为系统的一个进程,并为每个进程分配一个进程id 查看进程:Linux中可以通过ps命令查看系统中的进程信息,语法: ps [-e -f] -e选项:表示显…

0基础入门---第3章---神经网络(前向传播)

🌞欢迎来到深度学习的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🙏作者水平很有限,如果发现错误&#xff…

退出印度之后,越南制造也有麻烦,苹果摆脱中国制造成幻想

日前媒体报道指苹果在越南的代工厂面临麻烦,由于越南缺乏足够的电力供应,越南的工厂出现断电的问题,工厂生产被迫暂停,最严重的时候连续20天白天无法开工,这对于苹果来说无疑是又一个重大打击。 一、苹果的印度制造计划…

MODNet Background Remover 环境搭建步骤

1、安装 Python 3.8以上 2、安装 CUDA环境 4、下载 MODNet Background Remover 5、解压并进入到 MODNet Background Remover文件夹 6、创建虚拟环境 python -m venv venv7、使用虚拟环境 .\venv\Scripts\activate8、安装依赖包 pip install --upgrade pippip install --upg…

阿里云服务器租用费用_轻量和ECS价格表

2023年阿里云服务器租用费用,阿里云轻量应用服务器2核2G3M带宽轻量服务器一年108元,2核4G4M带宽轻量服务器一年297.98元12个月,阿里云u1服务器2核4G、2核8G、4核8G、8核16G、4核16G、8核64等配置新人3折,云服务器c7、g7和r7均有活…

VMware Horizon 8 运维系列(二)桌面计算机无法访问代理

前言 Horizon 8 在使用即时克隆桌面池,偶尔会出现某个桌面计算机显示“无法访问代理”状态,这时该计算机无法通过客户机来访问。 一、问题描述 1、问题场景 桌面池类型:即时克隆桌面池 2、查看桌面池 查看桌面池,发现有计算机状态为“无法访问代理“,如下图: 二、问题…

回归预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现…

全民AI计划:通过langchain给LLM接上落地的大腿

langchain是一个开源项目 github.com/hwchase17/l… 。这个项目在GitHub上已经有45.5K个Star了。此项目由一位叫hwchase17的国外小哥在2022年底发布。 我有理由相信,这个项目是为了对接大语言模型才搞的。 一、企业困境: 如何应用大语言模型 大语言模型(Large La…

渗透专题丨web Top10 漏洞简述(2)

文件包含漏洞 1、漏洞简述 程序在引用文件的时,引用的文件名,用户可控的情况,传入的文件名校验不严,从而操作了预想之外的文件,就有可能导致文件泄漏和恶意的代码注入。这是因为程序开发时候会把重复使用的函数写到归…

springboot启动流程 (1) 流程概览

本文将通过阅读源码方式分析SpringBoot应用的启动流程,不涉及Spring启动部分(有相应的文章介绍)。 本文不会对各个流程做展开分析,后续会有文章介绍详细流程。 SpringApplication类 应用启动入口 使用以下方式启动一个SpringBoot应用: S…

【计算机视觉】最近跑实验的感悟:大模型训练太难了!

文章目录 一、大模型训练太难了二、大模型的训练有三大难点三、OpenAI 的一些启发 一、大模型训练太难了 这里大模型训练特指基座大模型的从0开始训练,不包括在2000条数据上SFT这样的小任务。 有人说大模型嘛,简单,给我卡就行,等…