首页| 论坛| 消息

标题:qt-arm上的软键盘如何实现?
作者:zheng0929
日期:2009-06-09 16:41
内容:

大家好。根据www.qt-apps.org中的例子,我已经实现了X11环境下的软键盘。但是现在需要做一个在arm上运行的软键盘,这个例子就不行了,在论坛里面查看了一些帖子,发现应该用QWSServer::sendKeyEvent来实现。请问大家有没有相关的例子或者方法?非常感谢!zyj19840929@163.com


#1 [duduqq 06-10 08:43]
www.qt-apps.org那个例子好像就是在嵌入式LINUX下用的,不要改它的代码看看能不能运行。
你也可以把XTestFakeKeyEvent这个函数换成QWSServer::sendKeyEvent试一下啊
#2 回 楼主(zheng0929) 的帖子 [songfangfang 07-02 13:33]
楼主你好,我现在也在做软键盘,能不能把你在X11上实现的软键盘代码发给我一份,谢谢诶 fangsfang@126.com
#3 回 楼主(zheng0929) 的帖子 [guhao 07-04 20:58]
这个我发过帖子了,可以参考下怎么实现的,需要QWSServer,我移植过没有问题!
#4 回 3楼(guhao) 的帖子 [songfangfang 07-07 14:30]
QWSServer好像要4.6以上,我用的是4.5.3的
#5 Re:回 3楼(guhao) 的帖子 [磐石 07-08 09:45]
引用第4楼songfangfang于2010-07-07 14:30发表的 回 3楼(guhao) 的帖子 :
QWSServer好像要4.6以上,我用的是4.5.3的
QWSServer应该在QTE(Qt for Embedded Linux)中都有,而且应该仅在QTE中有,
写软件盘时要注意的几问题,
1,如果说仅要实现英文输入法的话,仅用QWSServer::sendKeyEvent(...)就够了,
但要实现中文输入法则必须要继承QWSInputMethod这个类来写一个软件盘,用QWSInputMethod::sendCommitString ( const QString & commitString, int replaceFromPosition = 0, int replaceLength = 0 )
具体这两个类用法查看帮助文档,
2,包含软件盘的应用程序必须是以服务进程启动,个人理解:QT中第一个运行的程序默认为服务进程,也就是运行时要加参数 -qws,以后运行的进程不用这个参数

<< 1 2 3 >> (1/3)

回复 发表
主题 版块