Qt中文相关问题笔记

1、在Qt creator中无法使用输入法

环境Qt creator 5.1Ubuntu10.04, ibus输入法

解决:可以通过运行以下脚本启动QT

 

#!/bin/sh  

cd QT的可执行文件目录)

export QT_IM_MODULE=iBus  

./qtcreator

 

2、在ARM linux上无法显示中文

这种情况多半是字库问题引起,把wenquanyi字库拷贝到提示字库加载错误的地方,同时在控件、窗口创建完毕后执行:

QFont font;

font.setFamily(QString("wenquanyi"));

this->setFont(font);

若是在QT designer设计的界面控件不能显示中文,即在其setup之后设置为wenquanyi字体:

    ui->setupUi(this);

    QFont font;

    font.setFamily(QString("wenquanyi"));

this->setFont(font);

QT designer里面选择为wenquanyi会不生效。

对于父窗口设置了wenquanyi字库,子窗口是否还得这样设置才能显示中文的问题,还未进行准确验证

 

3、在代码中敲入的中文字符串,通过传值、传地址等方式赋予到控件上无法显示中文

这种情况可能是编码的问题,如:

在文件A

......

extern char str[]

......

char str[ ] = “中文问题真烦”;

printf(“%s\n”, str);

......

打印出乱码

而在文件B即可以显示中文

PushButton_A->settext(QString::fromLocal8Bit(str)); //也无法显示中文

PushButton_B->settext(QString(“中文中文中文”)); //可以显示中文

可能原因:

程序启动时,在main中设置了UTF-8编码(或不设置,采用默认,好像也是UTF-8

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

文件B也是UTF-8编码,

文件AGBK编码。

这样子的话,就会出现上述问题,这时可以通过如下操作解决:

打开文件B=》菜单栏“编辑”=》“选择编码”=》选中UTF-8编码,点击“按编码保存”

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值