文档章节

QWSInputMethod类参考

souldepth
 souldepth
发布于 2013/04/12 09:18
字数 603
阅读 101
收藏 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
厦门
高级程序员
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
安卓快速开发框架--AndroidOne

One框架能帮您带来什么? One框架分为两个项目,OneCore为核心工程,androidOne为演示项目,依赖oneCore One整个框架为MVC模式搭建,基于android framework为核心,集成Android世界中的主流技...

androidside
2015/12/23
1K
0
java中面向对象的三大特性小结

java中面向对象的三大特性:封装、继承、多态 封装 把抽象的数据和对数据的操作封装在一起,隐藏变量的实现细节。数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据...

余大彬
08/06
0
0
各大推荐引擎资料汇总

最近在做一个推荐的任务,头绪繁多,回头看看同行的工作,希望能有些帮助。 零零碎碎看过好多资料,有些已经忘记了,会慢慢补全。 欢迎同行加我微博进行交流。 视频类 Netflix: 很多方法的融...

鉴客
2012/09/05
518
5
monkeyk7/spring-dynamic-job

#spring-dynamic-job 项目用Maven管理 使用的技术与版本号 Java (1.7) Spring (3.2.2.RELEASE) Quartz (2.2.3) mysql-connector-java (5.1.35) 使用说明 Check-out代码, 使用IDE(如IDEA) 打开......

monkeyk7
2016/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
31分钟前
1
0
unload事件

unload事件不触发的原因分析 1.代码位置不对,应该优先加载,不能放到回调函数中 2.浏览器不支持 3.最可能的原因,unload事件中触发的函数是一个异步执行的函数,浏览器是不允许在窗口关闭之后在...

狮子狗
44分钟前
1
0
DbForge Schema Compare for MySQL入门教程:如何连接到数据库

【dbForge Schema Compare for MySQL下载】 要创建连接: 1. 在“Connection” 工具栏上单击“New Connection”按钮 。 2. 在“Host” 框中输入主机名。 3. 在“Port” 框中输入端口信息。默...

Miss_Hello_World
46分钟前
1
0
公众号关联微信小程序

公众号关联小程序发送关联通知,对于推广小程序有着很大的帮助。所以问题来了,怎么做到在公众号关联小程序发送关联通知呢? 一:开发中遇到的问题 之前在开发过程中发现,公众号已经关联小程...

Code辉
59分钟前
1
0
并发编程基础之JMM学习摘要

一、JMM定义 Java内存模型即Java Memory Model(JMM),JMM决定一个线程对共享变量的写入何时对另一个线程可见(内存可见性),从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程...

狠一点
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部