• 3989阅读
  • 1回复

qte 国际化不灵 [复制链接]

上一主题 下一主题
离线spengdong
 

只看楼主 倒序阅读 楼主  发表于: 2010-01-22
我做了个国际化的例子,在fc9上没有问题,但在开发板上不行。经交叉编译后,我把执行文件和qm文件放在一起下载到开发板运行,结果只能显示中文的,中文字库也有,是要翻译成英文的。郁闷中。。。。。
下面是main.cpp的代码,请高人指点!
#include <QtGui>
#include <QtCore>
#include <QTextCodec>
#include <QTranslator>
#include"mainconsole.h"

int main(int argc, char* argv[])
{

    QApplication app(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
    //QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    //QString locale = QLocale::system().name();
    QTranslator *translator = new QTranslator(0);
    //translator.load(QString("test_") + locale);
    translator->load("test_EN.qm");
    qApp->installTranslator(translator);

    

    CMainConsole mainconsole;
    QSplashScreen *splash = new QSplashScreen;
    splash->setPixmap(QPixmap(":/images/splash.png"));//配置图片
    splash->show();//显示图片
    qApp->processEvents();

    Qt::Alignment topRight = Qt::AlignCenter;
    
    QFont font2("simhei",100,20,false);//simkai
    splash->setFont(font2);
    //splash->showMessage(QObject::tr("Setting up the main window..."),topRight, Qt::white);//显示信息


    mainconsole.setGeometry(40,40, 800,480);
    splash->showMessage(QObject::tr("系统初始化..."),topRight, Qt::white);//显示信息
    mainconsole.show();
    
    splash->finish(&mainconsole);//图片一直显示到mainWin加载完成
    delete splash;//释放空间,节省内存
    return app.exec();
    
}
离线ortejia

只看该作者 1楼 发表于: 2010-04-20
用了QTranslator ,干嘛还要用QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
快速回复
限100 字节
 
上一个 下一个