在Qt中中文解码问题

方法一:

       #include <QApplication>
       #include <QLabel>
       #include <QTextCodec>
int main(int argc, char *argv[]) {
       QApplication app(argc, argv); 
       QTextCodec *codec = QTextCodec::codecForName("gb18030");// Big5-ETen
       QLabel *label = new QLabel; 
       label->setText(codec->toUnicode("<center><h1>Qt4 学习笔记</h1></center>"));   
       label->setWindowTitle(codec->toUnicode("徐忠明"));  
       label->resize(200, 50);   
       label->show();   
       return app.exec();
}

即只要使用codec->toUnicode("中文");就可以实现所以中文的编码问题,但这个存在一定的缺点,就是每一次都要写上一个codec->toUnicode();能不能更简单一点的?

方法二:

QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));//为tr()这个做设置

这样就可以使用label->setText(tr("中文"));就可以,而且对项

目中所有的tr()都有效,不必考虑变量的域的问题

 

如:

QLabel* usrLabel = new QLabel(tr("用户名:"));

QPushButton* okBtn = new QPushButton(tr("确定"));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值