文档章节

QWSInputMethod类参考

souldepth
 souldepth
发布于 2013/04/12 09:18
字数 603
阅读 112
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

详细说明

#include <QWSInputMethod> 注意:这个类仅仅在嵌入式环境下有效

一个Qt for Embedded Linux应用程序需要一个服务器应用程序来运行,或者它自身成为一个服务器应用程序。所有的系统会产生事件,包括键盘和鼠标事件,这些事件到达服务器应用程序之后,会被传送到合适的客户端。

一个输入法包括了过滤器和可选的图形界面,用来过滤服务器和客户端应用程序之间的输入事件。

创建自定义的输入法

为了实现自定义的输入法,需要得自QWSInputMethod类,并使用服务器的setCurrentInputMethod()函数来安装注册。

当继承QWSInputMethod时,你可以重新实现filter()函数来处理来自物理的和虚拟的键盘还有鼠标设备的输入。注意:默认的实现是无能为力的。使用setInputResolution()函数来控制移位的位数,当过滤鼠标的输入时,即,当从指针分辨率到屏幕分辨率(使用inputResolutionShift()函数检索当前的分辨率)。

为了收到一次输入法查询的回复(使用sendQuery()函数发送),你必须重新实现queryResponse()函数,然而如果你想在预编辑文本处理鼠标事件,mouseHandler()必须重新实现。重新实现updateHandler()函数来处理更新事件包括复位和焦点的变化。UpdateType枚举描述了各类被输入法认可的更新事件。

使用输入法

除了在前面的章节提到的filter(),reset(), queryResponse(), mouseHandler()和 updateHandler()函数,QWSInputMethod提供了几个其他的函数来帮助窗口系统来管理已安装的输入法。

sendEvent()函数向焦点部件发送给定的事件,然而sendPreeditString()函数发送给定的预编辑文本(封装事件)。QWSInputMethod也提供了sendCommitString()方便的函数用来发送封装的给定的提交字符串到当前的焦点部件,sendMouseEvent()函数发送给定的鼠标事件。

最后,QWSInputMethod类提供sendQuery()函数发送输入法查询。

updateHandler()

处理更新事件,包括复位和焦点的变化,更新事件由给定的type指定,是一个UpdateType枚举值。

请注意,这个函数重新实现必须调用基实现,它本身不处理的所有案件。

本文转载自:http://blog.csdn.net/wangrunmin/article/details/7428282

souldepth
粉丝 4
博文 62
码字总数 36976
作品 0
厦门
高级程序员
私信 提问
加载中

评论(0)

qtopia-x86安装配置及编程方法

安装: 1)download the qtopia-free-src-2.2.0.tar.gz 2)tar zxvf qtopia-free-src-2.2.0.tar.gz 3) cd qtopia-free-2.2.0 4) export PATH=$PWD/tmake/bin:$PATH 5)./configure,然后输入"ye......

文艺小青年
2017/03/04
0
0
JAVA基础知识总结6(面向对象特征之一:多态)

多 态:函数本身就具备多态性,某一种事物有不同的具体的体现。 体现:父类引用或者接口的引用指向了自己的子类对象。   Animal a = new Cat(); 多态的好处:提高了程序的扩展性。 多态的弊...

osc_ejw330h5
2018/08/31
2
0
angular + spring boot + mysql

  花了两周的时间,我终于做完实训了。   这次用的全是新学的技术,前端框架是angular,组件库是ngzorro的,后端是spring boot,数据库是mysql。这次被逼着学习新东西,总算是凑凑合合把...

osc_j89isia8
2019/10/28
2
0
Java基础之 HelloWorld

Java发展史 参考: https://www.cnblogs.com/guoqingyan/p/5667064.html 2. Java中 JDK, JRE, JVM之间的关系 参考: https://www.cnblogs.com/yangming1996/p/8508187.html 3. 第一个Java程序 ......

osc_2bb5jklm
2019/03/15
2
0
2017-2018-2 20165325 实验二《Java面向对象程序设计》实验报告

一、面向对象程序设计-1 1、检查点要求 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 参考 http://www.cnblogs.com/rocedu/p/6736847.html 提交最后三个测试用例都通过的...

osc_sd6nmwhn
2018/04/14
3
0

没有更多内容

加载失败,请刷新页面

加载更多

给大家讲一个笑话:技术是无国界的!

在我接触互联网的最初几年,总会在技术论坛上看到有人宣称:技术是没有国界的,我深信不疑! 做程序员之后,我慢慢接触到了很多很多的开源软件,我真的无比的感慨:开源是人类最伟大的发明。...

osc_hzf6peqc
7分钟前
13
0
医学多模态图像分割小结 - 知乎

在医学图象中,多模态数据因成像机理不同而能从多种层面提供信息。多模态图像分割包含重点问题为如何融合(fusion)不同模态间信息,本文主要记录笔者最近所读,欢迎批评指正补充 1. A review:...

osc_htns3spg
8分钟前
12
0
Curve-GCN:图卷积网络用于活动轮廓演变 - 知乎

CNN做分割需要处理数据量很大的grid数据,需要对所有点的label进行预测,而且传统CNN并不会结合点与点之间的联系。 使用图结构建模分割轮廓或分割曲面,然后采用GCN,仿照传统的deformable ...

osc_q7wo0k6s
9分钟前
4
0
录好的音频在哪个文件夹?迅捷录音软件还能这么查找!

录好的音频在哪个文件夹?在录制之前经常忘记调整保存位置,等到录完音频才发现,自己竟然找不到音频文件了。这种情况在录音的时候并不少见,软件的音频文件会默认保存在安装目录下,找起来确...

dawda
10分钟前
17
0
docker: Error response from daemon: Conflict. The container name "/xx" is already in use

使用docker 出现Error response from daemon: Conflict. The container name “***” is already in use 解决方法: (1)给容器换一个名字, 比如说 docker run -it --name=mycentos2 centos......

osc_h7q38oso
10分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部