输入法概述
常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法
系统级输入法就是咱们通常意义上的输入法,和操作系统绑定使用系统的输入法框架进行开发,在任何程序当中都可以使用,比如在windows系统下基于TSF/IME框架开发的输入法,在Linux系统下基于fcitx框架开发的框架。此类输入法通用性强功能强大,但开发难度也高。
普通程序输入法是一种不和系统绑定的输入法,该类输入法并不是通过系统接口进行字符输入而是通过进程间通信进行文本输入,在windows上通常是通过剪切板进行文本粘贴输入。此类输入法和系统绑定不强开发难度低,但使用起来也有诸多不便。许多输入法的符号大全应用就类似于这种输入法。
程序自带的输入法是和程序绑定的一款输入法插件,只能在当前程序中使用,使用范围相对较窄,今天介绍的输入法就是这种输入法,基于QT的输入法插件开发的输入法,只能在当前QT程序中使用。
QT提供了输入法插件类QPlatformInputContextPlugin,继承该类我们就可以开发自己的QT输入法插件了。