VS2010中Qt翻译文件的创建与使用范例
2014-08-28 19:20
471 查看
操作系统:WINXPQT library :4.8.5IDE :VS2010。 基本原理为了在使用多语言,必须做两件事情:1,把想要翻译的字符串放入tr()中,如 QString str=tr("Legal");2, 在开始的时候载入预先制作好的翻译文件(.qm)。以下利用Qt提供的工具,把翻译文件制作出来,并在程序中加载。 1、生成TS文件 QT的国际化需要TS文件,我们可以通过以下方法创建TS文件
2、lupdate
3. 运行Qt Linguist,打开上一步生成的*.ts文件,进行翻译,翻译完毕后lrelease4、在QRC文件加入新生成的QM文件: 双击QRC文件,按照以下配置进行配置,主要用于load()函数
附上修改前代码: #include <Qpushbutton>#include <QApplication>#include <Qwidget>#include <QTextCodec>#include <QObject>#include <QTranslator>int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget windows; windows.setMinimumSize(300,200); windows.setMaximumSize(300,200); QPushButton QPushButton_test1(QObject::tr("test1"),&windows); QPushButton_test1.setGeometry(20,20,100,30); QPushButton QPushButton_test2(QObject::tr("test2"),&windows); QPushButton_test2.setGeometry(20,60,100,30); QPushButton QPushButton_test3(QObject::tr("test3"),&windows); QPushButton_test3.setGeometry(20,100,100,30); windows.show(); return app.exec();} 修改后代码:#include <Qpushbutton>#include <QApplication>#include <Qwidget>#include <QTextCodec>#include <QObject>#include <QTranslator>int main(int argc, char *argv[]){ QApplication app(argc, argv);/*新建翻译对象,并加载本地QM文件*/ QTranslator *translator=new QTranslator(0); translator->load(":/test_zh.qm"); app.installTranslator(translator); QWidget windows; windows.setMinimumSize(300,200); windows.setMaximumSize(300,200); QPushButton QPushButton_test1(QObject::tr("test1"),&windows); QPushButton_test1.setGeometry(20,20,100,30); QPushButton QPushButton_test2(QObject::tr("test2"),&windows); QPushButton_test2.setGeometry(20,60,100,30); QPushButton QPushButton_test3(QObject::tr("test3"),&windows); QPushButton_test3.setGeometry(20,100,100,30); windows.show(); return app.exec();}
2、lupdate
3. 运行Qt Linguist,打开上一步生成的*.ts文件,进行翻译,翻译完毕后lrelease4、在QRC文件加入新生成的QM文件: 双击QRC文件,按照以下配置进行配置,主要用于load()函数
附上修改前代码: #include <Qpushbutton>#include <QApplication>#include <Qwidget>#include <QTextCodec>#include <QObject>#include <QTranslator>int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget windows; windows.setMinimumSize(300,200); windows.setMaximumSize(300,200); QPushButton QPushButton_test1(QObject::tr("test1"),&windows); QPushButton_test1.setGeometry(20,20,100,30); QPushButton QPushButton_test2(QObject::tr("test2"),&windows); QPushButton_test2.setGeometry(20,60,100,30); QPushButton QPushButton_test3(QObject::tr("test3"),&windows); QPushButton_test3.setGeometry(20,100,100,30); windows.show(); return app.exec();} 修改后代码:#include <Qpushbutton>#include <QApplication>#include <Qwidget>#include <QTextCodec>#include <QObject>#include <QTranslator>int main(int argc, char *argv[]){ QApplication app(argc, argv);/*新建翻译对象,并加载本地QM文件*/ QTranslator *translator=new QTranslator(0); translator->load(":/test_zh.qm"); app.installTranslator(translator); QWidget windows; windows.setMinimumSize(300,200); windows.setMaximumSize(300,200); QPushButton QPushButton_test1(QObject::tr("test1"),&windows); QPushButton_test1.setGeometry(20,20,100,30); QPushButton QPushButton_test2(QObject::tr("test2"),&windows); QPushButton_test2.setGeometry(20,60,100,30); QPushButton QPushButton_test3(QObject::tr("test3"),&windows); QPushButton_test3.setGeometry(20,100,100,30); windows.show(); return app.exec();}
相关文章推荐
- VS2010中Qt翻译文件的创建与使用范例
- 在Qt中如何使用QtDesigner创建的UI文件(二)
- 使用VS2010调用QtDesigner设计的UI文件,并实现控件功能
- Qt的翻译文件QTranslator不能使用问题总结(原)
- VS2010 对象或库文件“*.lib”是使用比创建其他对象所用编译器旧的编译器创建的
- VS2010使用qt翻译的方法
- Qt之Ui文件的使用及DLL动态链接库的创建
- Qt使用SQLite不能创建db文件问题
- Qt翻译文件使用方法
- vs2013使用qt设计师创建新窗体后如何关联资源文件
- 使用VS2010开发Qt程序的4点经验(QT4到QT5的升级,更改sln文件,切换工程使用的Qt库,在VS的Solution Explorer视图中建立文件夹)
- 在Qt中如何使用QtDesigner创建的UI文件(二)
- 在Qt中如何使用QtDesigner创建的UI文件(二)
- VS2010在QT中使用.ui文件所需设置
- C#创建和使用资源文件
- 托管的 Direct3D之 使用 Frame Hierarchy 创建动画(翻译)
- 创建Text文件,使用不同的编码会造成生成乱码的现象和解决方法
- 资源文件的创建和使用
- 一个使用线程池的范例(翻译)
- 实例讲解.NET中资源文件的创建与使用