在程序中用QMessageBox中的静态方法弹出个提示框,汉化程序后但其按钮还是“OK”“Cancel”, 这是因为没有加载QT内置的汉化文件.
拷贝$(QTDIR)/translations/qt_zh_CN.qm及当前应用目录,编码
int main(int argc,char **argv)
{
QApplication app(argc,argv);
// 一个QTranslator对应一个翻译文件,需要安装两个QTranslator
// 加载QT汉化文件
QString path;
path=QString("qt_zh_CN.qm");
QTranslator qtTrans;
qtTrans.load(path);
qApp->installTranslator(&qtTrans);
// 加载本程序汉化文件
path=QString("test_zh.qm");
QTranslator tTrans;
tTrans.load(path);
qApp->installTranslator(&tTrans);
QMessageBox::information(NULL,QObject::tr("information"),QObject::tr("Hello world"));
return app.exec();
}
运行: