qt qss设置字体大小_Qt编写输入法V2019终极版

3c26c63548e01935f898272647fa8f6d.gif

一、前言

之前写过的V2018版本的输入法,本来已经很完善了,不打算更新升级了,最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前的输入法高仿了一个,由于之前有做过输入法这块的开发,而且改进了四年,各种需求都遇到过,陆陆续续完善了很多年,所以这个高仿起来难度不大,而且要支持滑动选词,直接撸代码。 体验地址:https://pan.baidu.com/s/1vIyEdB4QGo5OvxLYj7kq5g 提取码:sysn

二、功能特点

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

三、效果图

7331edd970d74e6c52895a64931b8c92.gif

四、使用方法

  1. 将input2019整个目录放到你的项目的pro同一级别目录中。
  2. 在你的主程序的pro文件中加一行 include($$PWD/input2019/input2019.pri)
  3. 在你的程序的main函数中引入头文件 #include "input2019/frminput2019.h"
  4. 在你的程序的main函数中加一行代码 QApplication a(argc, argv);之后加 frmInput2019::Instance()->hide();
  5. 将源码下的dict_pinyin.dat+dict_pinyin_user.dat字库文件复制到可执行文件同一目录。

五、其他说明

  1. 如果想设置更小的尺寸,可用setFixedSize。
  2. 源码下的chinese_user.txt为自定义词组文件,打开编辑即可,该文件放到可执行文件同一目录即可。
  3. 如果是dialog窗体,请在dialog窗体exec前增加一行代码,QDialog dialog;dialog.setWindowModality(Qt::WindowModal);否则会阻塞窗体消息。
  4. 在某些嵌入式linux系统中,如果没有带有XCB,则输入法需要先show再hide一次,然后输入法才能起作用,不然程序会崩溃。

六、核心代码

bool 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值