查看完整版本: [-- 软键盘输入法(支持中文输入法,功能优化ing) --]

QTCN开发网 -> Qt 作品展 -> 软键盘输入法(支持中文输入法,功能优化ing) [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

chuck_gao 2009-09-03 23:13

软键盘输入法(支持中文输入法,功能优化ing)

By chuckGao
V0.1版
一直很想写个QT软键盘输入法,但由于笔者本身对PS技术十分欠缺,所以未能成行。今天偶然间在google上看到windows xp sp3的一款软键盘,尘封的心情又再次出现,所以硬着头皮用ps鼓捣了半天,终还是没有将背景图还原出来(原图如下,因为那支笔的缘故)
[attachment=2626]
后来试着用layout增增减减许多Button终有点键盘样,所以决定用自己的图做软键盘
[attachment=2627]


这里链接一篇用layout方式实现的软键盘模型Blog:
http://blog.csdn.net/snailjava/archive/2007/06/11/1647869.aspx
不过笔者感觉layout方法需要连接的槽以及创建的widget太多,所以还是采用根据键盘图获取点击坐标,然后换算为按键的方法进行开发。



Bug报告
1.因为lowkey和highkey的键盘图在剪切时没那么细心,所以在大小写切换时会稍微感觉键盘在移动
2.有些功能键如win没添加键码

功能欠缺
1.func按钮点击后出现[attachment=2628]菜单未制作
2.中文输入法未加入(包括字体库、汉字编码、词语表)
3.只能提供QT程序中对点击的一个或多个(设置焦点代理setFocusProxy(QWidget *widget);点击软键盘时,使光标停留在被设置的widget上setFocusProxy(QApplication::focusWidget()
);
)可编辑对象(如QLineEdit等)的输入,暂没找到全局的方法对其他程序实现(希望大家指导啊~)
[attachment=2629]


09-9-4更新V0.2版
更新及bug修复
1.增加func菜单
2.增加中文输入法,暂时只支持py.txt(src目录下)里的汉字和词组
[attachment=2636]
3.bug报告:因为最初设计时为单字输出,所以在输入词组简写拼音(如:abjb)时,按部就班在选择栏中不能完全显示
[attachment=2637]

cnnbboy 2009-09-04 07:51
恩,不错,说实话,做得可以了,我也在研究这方面,有空可以探讨下

eijs 2009-09-04 13:17
不错

chuck_gao 2009-09-04 22:20
09-9-4更新V0.2版,希望大家批评指导~

cnnbboy 2009-09-07 08:06
输入法可以考虑下移植现成的配合,键盘做得很漂亮,赞一下

mxh20999 2009-09-07 14:34
不错,我也做过一个简单的输入法,跟你这个比起来真是小巫见大巫了,不过倒也是原创,呵呵http://blog.chinaunix.net/u2/86708/showart_1950897.html

2512a2512 2009-10-09 19:06
Studying

fanxk_1979 2009-11-13 16:48
谢谢,谢谢,再谢谢,小弟初学linux,还望大家多多指导!!

pbe_sedm 2009-12-02 09:37
看过,用过,有参考价值,搜索算法太笨拙,用二叉之类的优化一下,把字库调入内存,相信会上个档次!

chenhui.hh 2010-03-09 15:39
LOOK下

savefigo 2010-03-20 23:49
  学习下 谢谢分享!

embeddedgood 2010-04-07 08:55
顶一下

qs9889 2010-05-18 22:23
很好,学习...

jianglijs 2010-05-31 14:09
非常感谢lz的开源辛苦了

embeddedgood 2010-09-15 08:43
ding

人名雁声 2010-09-26 09:58
可编辑对象(如QLineEdit等)的输入,暂没找到全局的方法对其他程序实现(希望大家指导啊~)
我现在也遇到这个问题,LZ有没有解决?

317699029 2010-12-11 16:54
把字库调入内存?你的意思是把字库直接存入内存中吗?我不觉得这是一个号办法,你要知道一般讲所有汉字加载进去可能需要连续的40,50KB的大小,这对一般的小处理器太奢侈了!

jetlee2012 2011-01-04 16:12
高手们程序里去掉注释,弹出三个LineEdit只有一个能获得输入焦点,跟描述的似乎不符哦!能不能指教一二,现在在玩输入法。。。不胜感激。

jackhan2006 2011-01-13 15:41
太好了!可用先借用一下。

agassi 2011-05-30 11:02
先下了,谢谢分享,这行真的不好做啊

lkppost 2011-06-13 18:09
请问是可以输入到任意的界面的还是只能在你当前的程序中使用?

351339482 2011-08-17 16:42

yskftlj 2011-09-15 19:55
谢谢啊,不错的资料!

爱的就是米 2012-03-06 17:12
借用下,准备在你的基础上进行优化,如果有新的突破一定上传共享!!!谢谢了先!

nawei87 2012-07-15 07:59
非常棒

thh159 2012-09-19 18:38
看看

tigeroar 2012-09-27 10:05
谢谢!

hua907 2012-11-02 16:17
lz英明!

liuyuanan 2012-11-13 11:50
     做得不错

lch922 2012-11-20 18:05
我也做过一个,基于嵌入式的,自动识别带输入焦点的控件,比如,点击QLineEdit,软键盘自动弹出,字典是用数据库的。

lch922 2012-11-20 18:12
字典检索确实有优化的余地啊。如楼上所说的,全部加载到内存中。可以用一个链表来存储。

csdn 2013-01-04 22:18
支持原创

axlrose 2013-05-14 17:10
支持, 楼主还有在更新吗?

sundhhy 2013-08-09 08:59
谢谢楼主。

yuxue 2013-08-12 15:03
楼主 你的源码 我arm 下交叉编译过去 这样提示 QFile::open: File (serch.txt) already open


serch.txt 也生成了

ypchen 2014-07-10 11:24
怎么下载不了呢

acercyc 2014-10-21 12:07
您好  我下载半天源代码都下载不下来  麻烦您能发我邮箱一下么  感激不尽了771848799@qq.com

lgao622 2014-12-21 21:30
http://blog.csdn.net/lgao622/article/details/42034499
一个支持中文输入的Qt5软键盘

等会 2016-04-27 11:18
楼主为什么我运行出来是这样的?[attachment=15072][attachment=15072][attachment=15072][attachment=15072]

lishaoguang5 2017-06-17 20:22
                  


查看完整版本: [-- 软键盘输入法(支持中文输入法,功能优化ing) --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled