SYSZUXpinyin中文输入法的移植(到QT)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

SYSZUXpinyin中文输入法的移植(到QT)

一.首先是库libsyszuxpinyin.so的移植

1. 将 SYSZUXpinyin.tar.bz2 拷到/tmp/进行解压 然后 cd SYSZUXpinyin

2.修改syszuxpnyin.pro文件
TEMPLATE = lib
在.pro中添加
RESOURCES += syszuxpinyin.qrc(可能已经修改完毕)
3. qmake
4. make


注:如果在命令行用交叉编译工具编译不成的话(报错说找不到“main”,其实本来就没有main函数的),可以尝试用QT creator编译,在工具配置”Tools“里面”options“选择交叉编译工具,我没有找到报错的原因,但是却用QT creator编译通过。


把生成的
libSYSZUXpinyin.so
libSYSZUXpinyin.so.1
libSYSZUXpinyin.so.1.0
libSYSZUXpinyin.so. 1.0.0

拷贝到目标板(arm板)QTDIR的lib路径下面,我的是/usr/lib 。


二.然后是把输入法编译到Qt中 
将源码包中的syszuxim.h和syszuxpinyin.h头文件和syszuxpinyin.ui面板放置到你Qt程序的源代码路径下,把syszuxpinyin.ui添加到QT creator工程的Forms里。

1. qmake -project生成.pro文件
将.pro文件中添加  LIBS += -L/(有libSYSZUXpinyin.so这些库的路径) -lsyszuxpinyin (第二个一定是小l,大L为在指定路径下寻找,小l为连接库)
在主界面源文件 .cpp中加入

#include "syszuxpinyin.h"
#include "syszuxim.h"

在要用的类的头文件里添加也行。

并在需要启动输入法的函数里面加

QWSInputMethod* im = new SyszuxIM;
QWSServer::setCurrentInputMethod(im);

这样就安装好了输入法。


但是并没有弹出软键盘。在以上两行下面可以写出弹出软键盘的指令:

im->updateHandler(QWSInputMethod::FocusIn);

(自然,要隐藏软键盘参数用FocusOut,这条指令会自动检测到有光标闪烁的编辑框然后弹出软键盘);


弹出了软键盘,但是中文字符为乱码,那么在工程文件的main函数里“MainWindow w”这一行下面添加如下一行:

    QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312")); 

可以显示中文,注意,只添加这一行,编码方式不对或者多添加了其余的两行都是不能正常显示的。


 主函数里设成GB2312后,除了按钮上的汉字可以正常显示外,其他的如标题等都不能正常显示了。因为我们的linux下qt默认的中文环境是UTF-8格式,要正常显示中文必须转化成UTF-8格式。解决方法是:在头文件里#include <QTextCodec>,然后定义: QTextCodec *tc; 在对应的.cpp的构造函数里加上:tc =  QTextCodec::codecForName("UTF-8")就可以都显示中文了。


注意:由于syszuxpinyin将ui面板样式已经编进了libsyszuxpinyin.so里,所以改变ui的样式也只能在SYSZUXpinyin里进行而无法在当前工程的syszuxpinyin里,最后将改变后的ui再次编译成库,然后拷入目标板。

Qt入门之syszuxpinyin输入法应该的小知识 移植好的syszuxpinyin输入法能正常的检测到控件焦点并自动弹出软键盘 阅读详情

相关推荐

qt移植 SYSZUXpinyin中文输入法

主机:contos 2.6.32 交叉编译器:

Demetered的专栏 3793

SYSZUXpinyin.rar_qt下的输入法_syszuxpinyin

修改的syszuxpinyin输入法,支持退格删除等操作。

QT简单软键盘+SYSZUXpinyin修改

由于项目需要用到QT软键盘,本来PC上QT用的5.4.1版本,但不支持QInputContext。所以用了和开发板一样的4.8.5.   1.简单的数字软件盘        在QtEmbedded-4.8.5-arm/examples/tools/inputpanel下面有例子,下面说一下修改;     1).增加退格键,因为键值问题,需要使用quint32,才能生效,把下面的改一下就

zhouxf的专栏 6729

syszuxpinyin-demo(移植SYSZUXpinyin的一个官方demo)

syszuxpinyin-demo(移植SYSZUXpinyin的一个官方demo)

[转]SYSZUXpinyin中文输入法移植(到QT

http://hi.baidu.com/linfengmiyun/item/29e1f6798d347808d7a89ce4 一.首先是库libsyszuxpinyin.so的移植 1.将SYSZUXpinyin.tar.bz2拷到/tmp/进行解压然后cdSYSZUXpinyin 2.修改syszuxpnyin.pro文件 TEMPLATE=lib 在.pro中添加 RES...

weixin_30633949的博客 335

基于嵌入式Qt输入法syszuxpinyin自动弹出软件盘的问题

原因是控件无法重新获得焦点,只有当它失去焦点的时候才能重新获得焦点,所以你必须先点其他控件让它失去焦点,然后再点它。问题二:在默认情况下能输入完了以后没有点其他控件而再次输入,简单点就是说点第一次的时候可以弹出,第二次的时候不能。问题一:QLineEditt在默认情况下会自动出现焦点,从而导致一进入界面就弹出软键盘。移植好的syszuxpinyin输入法能正常的检测到控件焦点并自动弹出软键盘。但是我们需要点击一下控件它才弹出软键盘。重新获得焦点.在板子上试验过就知道。解决方法:子类化QLineEdit。

qq_40170041的博客 496

基于qt的嵌入式平台输入法SYSZUXpinyin移植到arm后,UDP接收端中文乱码 本地中文乱码 解决

转自:  http://blog.csdn.net/yanzi1225627/article/details/7852326 SYSZUXpinyin输入法完全是用qt搭建的,移植到arm平台后,可以弹出软键盘,本人已成功。移植过程可以参考http://blog.chinaunix.net/uid-24219701-id-3077611.html这里,等有时间洒家写个移植的小细节。这里主要讲

Fire_For_Code 1042

QT SYSZUXpinyin 开源输入法移植

宿主机:fedora9 目标平台:min2440 交叉编译器:EABI  arm-linux-gcc 4.3.2 SYSZUXpinyin版本: SYSZUXpinyin 1.0 源码包: syszuxpinyin1.0.rar    一.首先是库libsyszuxpinyin.so的移植 1. 将 SYSZUXpinyin.tar.bz2 拷到/tmp/进行解

Shanks 3667

QT4可用的,触摸屏软键盘syszuxpinyin1.0

这个代码比较老了,不过可以用作参考,使用起来比较一般,不过可以二次开发。

syszuxpinyin1.0 qt4下输入法源码

syszuxpinyin1.0 qt4下输入法源码,

基于qt的嵌入式平台输入法SYSZUXpinyin移植到arm后,UDP接收端中文乱码 本地中文乱码 解决

SYSZUXpinyin输入法完全是用qt搭建的,移植到arm平台后,可以弹出软键盘,本人已成功。移植过程可以参考http://blog.chinaunix.net/uid-24219701-id-3077611.html这里,等有时间洒家写个移植的小细节。这里主要讲,移植后整个程序的文本、字符编码方式怎么调整才能避免乱码。       我的环境是在Fedora14下,默认的编码方式是UTF

yanzi1225627的专栏 1万+

基于qt的嵌入式平台输入法SYSZUXpinyin移植到arm后,UDP接收端中文乱码 本地中文乱码 解决...

SYSZUXpinyin输入法完全是用qt搭建的,移植到arm平台后,可以弹出软键盘,本人已成功。移植过程可以参考http://blog.chinaunix.net/uid-24219701-id-3077611.html这里,等有时间洒家写个移植的小细节。这里主要讲,移植后整个程序的文本、字符编码方式怎么调整才能避免乱码。 我的环境是在Fedora14下,默认的编码方式是UTF-8...

mmdev 113
上一篇: 轻松了解Linux入门命令
下一篇: ubuntu下安装fcitx输入法 重启x窗口
lianqiang_sun
博客等级 码龄17年 31粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值