• 5311阅读
  • 6回复

请教:qt显示中文的问题 [复制链接]

上一主题 下一主题
离线zhougy
 
只看楼主 倒序阅读 楼主  发表于: 2008-03-20
— 本帖被 XChinux 从 Qt Programming 移动到本区(2008-03-20) —
我用的是2410板子自带的qt,在x11用qt2.3.2
程序一直无法显示中文,
在网上查了很多方法,中文要么显示问号,要么乱码
用他的翻译工具实现,还是问号
直接运行examples文件夹里的i18n,也只能显示英文
选择其他语言文字,包括中文,都显示方框
是否是中文字库的问题?
不知如何解决
请教高手
离线chenliangzhu
只看该作者 1楼 发表于: 2008-03-20
声明一个QTextCodec codec;
codec.toUnicode("中文显示");
好像就可以了吧?
离线zhougy
只看该作者 2楼 发表于: 2008-03-20
代码是这样吗

QTextCodec *code = QTextCodec::codecForName("GBK");
QString unistr = code->toUnicode("草");
TextLabel1->setText( unistr );

编译通过,运行的时候还是问号
不知道怎么回事儿,qt自带的例程我也显示不了汉字
离线badicoubid
只看该作者 3楼 发表于: 2008-03-22
字体原因

你有没有支持中文的字体,比如说unifont

有的话设置TextLabel1的字体格式为unifont
离线zkgq
只看该作者 4楼 发表于: 2008-03-22
zhougy:
  我也是同样的问题,但是你好像比我好点,我编译能通过,但用QVFB测试的时候老出现“段错误”的提示。方法和你的一样QTextCodec *code = QTextCodec::codecForName("GBK");
QString unistr = code->toUnicode("草");你可以听取一下楼上的建议,设置下字体,然后再试试。
  不知道你出现过我的问题没?
离线lsyer

只看该作者 5楼 发表于: 2008-03-23
#include <QApplication>
#include <QTextCodec>
#include "client4rj.h"
int main(int argc,char **argv)
{
    QApplication app(argc,argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    if (!QSystemTrayIcon::isSystemTrayAvailable()) {
        QMessageBox::critical(0, QObject::tr("Systray"),
        QObject::tr("I couldn't detect any system tray on this system."));
        return 1;
    }
    client4rj *dialog=new client4rj;
    dialog->show();
    return app.exec();
}

QTextCodec::codecForName("UTF-8")此处若是其它编码就用其它编码名称,比如gb2312就用gb2312。
离线zkgq
只看该作者 6楼 发表于: 2008-03-23
楼上给出这段代码是想表达什么意思?
快速回复
限100 字节
 
上一个 下一个