找回密码
 立即注册
收起左侧

QTcreator运行程序,不能显示汉字和输入汉字

6
回复
13876
查看
[复制链接]

尚未签到

来源: 2015-9-30 11:15:33 显示全部楼层 |阅读模式
1Qter豆
首先说一下,一下描述中设计到两种安装qtcreator2.8.1的方法。
方法一、官网下载qtcreator.run包,给予执行权限,运行安装。下载qt4.8.5配置、编译、安装。配置qtcreator,加入qmake路径,构建版本。
1、问题是运行的qt程序不能输入汉字,也不显示汉子,英文一切正常。好比,我拖了个button和lineedit,button文本内容输入“你好”,运行程序后button为空,在lineedit内输入汉子没法输入。注:不是乱码问题,这是两回事,乱码问题已解决,原理如下:
我会定义一个
QString str = QBject::tr(“你好”);
qDebug() << str;
lineedit.setText(str);
如果不处理乱码的话,传给str的就是乱码,lineedit显示的为乱码。
如果处理乱码的话,传给str的就是汉子,linedit为空,就是我现在和你讨论的问题。
通过这个类QTextCodec来处理乱码,main.c中处理代码没来得及贴。(为什么我这么肯定乱码已经处理了呢?另一种安装方式我就这样干的 ,处理后显示正常。看过好多博客原理就是这样,str被正常传值后就ok)。
方法二、通过sudo apt-get install qtcreator安装,这里安装的是qtcreator2.4.1,qt4.8.1,这是系统默认安装的版本。这样会安装好多东西,包括qt4.8.1,这样就不需要你手动配置、编译、安装qt4.8.1源码了。qmake也会自动配置。qmake被安装到/usr/bin/X86_linux_gun(具体目录记不大清了)。这样的环境只会出现乱码问题,这个好解决,就是我上面说说的解决办法。

总结:1、我在怀疑第一种办法安装的肯定是运行程序没有掉到字库导致的。但是我不知道qtcreator具体掉的字库动态库是哪个路劲。如何添加,希望和大伙探讨。之前看过一篇博客一哥们是qt5,他的问题也是这样,他修改的办发就是添加的库,但是核对了下库,我的两种安装方式库是一样的。附链接:http://blog.sina.com.cn/s/blog_b394f4e70102uwfc.html
2、为什么这么肯定是库的问题呢?因为我通过第二**搞定之后,我移植了arm版本的qt库,期初也是不能显示汉子(pc已经正常),后来交叉编译后,安装的qt目录的lib/font下会有字库,我把他们都删除,添加了我的wenquanyi汉子库,结果arm板的程序就显示正常了。
3、网上说的安装ibus输入法框架需要设置QT_IM_MODULE=ibus等几个宏,还需要装ibus-qt4插件。还需要设置qtcreator默认输入法位ibus。其他输入法框架亦如此。这样也没行同。



最佳答案

查看完整内容

我用的跟你一样,在虚拟机里,就是这样的,qt本身就是不能输入中文在linux下,得自己配置,百度一下就有,很多的
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-30 11:15:34 显示全部楼层
erfeiliuqi 发表于 2015-10-8 10:20
你用的是什么系统,哪个版本的?

我用的跟你一样,在虚拟机里,就是这样的,qt本身就是不能输入中文在linux下,得自己配置,百度一下就有,很多的
回复

使用道具 举报

尚未签到

2015-9-30 11:20:38 显示全部楼层
ubuntu12.04  64 的机器。。。。。。。。
回复

使用道具 举报

尚未签到

2015-9-30 11:29:53 显示全部楼层
怎么没人   搞了  一周了  快蛋疼死了  c同样的问题发csdn把我禁言了,说是有非法词汇。。。。。。
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-9-30 20:01:00 显示全部楼层
貌似linux的QT就是不能输入汉字的,你得自己下个输入法,然后做一些配置的,,,你百度一下,我以前也是根本打不上汉字,后来下了linux下的搜狗输入法,然后做了配置,就好了
回复

使用道具 举报

尚未签到

2015-10-8 10:17:03 显示全部楼层
qq1043068972 发表于 2015-9-30 20:01
貌似linux的QT就是不能输入汉字的,你得自己下个输入法,然后做一些配置的,,,你百度一下,我以前也是根本打不 ...

我用的就是系统本身装的ibus输入法。我然后在试试。谢了。
回复

使用道具 举报

尚未签到

2015-10-8 10:20:02 显示全部楼层
qq1043068972 发表于 2015-9-30 20:01
貌似linux的QT就是不能输入汉字的,你得自己下个输入法,然后做一些配置的,,,你百度一下,我以前也是根本打不 ...

你用的是什么系统,哪个版本的?

点评

我用的跟你一样,在虚拟机里,就是这样的,qt本身就是不能输入中文在linux下,得自己配置,百度一下就有,很多的  详情 回复 发表于 2015-10-8 17:42
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了