• 7067阅读
  • 7回复

QMainWindow 翻译问题? [复制链接]

上一主题 下一主题
离线mecland
 
只看楼主 倒序阅读 楼主  发表于: 2008-06-30
— 本帖被 XChinux 执行加亮操作(2008-06-30) —
基于QMainWindow的窗口类,做了国际化后仍 然为英文,困扰很久
#include <QApplication>
#include <QTranslator>
#include "MWindow.h"

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

    QApplication app(argc, argv);
    MWindow window;

    QTranslator translator;
    translator.load("test");
    app.installTranslator(&translator);

    window.showMaximized();
    return app.exec();
}
离线XChinux

只看该作者 1楼 发表于: 2008-06-30
把MWindow window;这句放到app.installTranslator()后面去。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线mecland
只看该作者 2楼 发表于: 2008-06-30
解决, 谢谢XChinux. 但是还没有搞懂为什么如此写有几个基于QDialog类的对话框翻译正常!
离线foxyz

只看该作者 3楼 发表于: 2008-06-30
MWindow window;

    QTranslator translator;
    translator.load("test");
    app.installTranslator(&translator);
简单点说,就是请在实例化拟的 main window前先install tr
你的代码语法上正确,不过逻辑上不对,顺序错误
离线mecland
只看该作者 4楼 发表于: 2008-06-30
谢谢,还有个问题。对话框中QDialogButtonBox中的'ok' 'cancel'如何翻译过来, uic生成的代码为:
setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cahceo);
离线lsn752

只看该作者 5楼 发表于: 2009-05-02
Re:同样的问题
    QTranslator translator;
    translator.load("test");
    app.installTranslator(&translator);
对话框中QDialogButtonBox中的'ok' 'cancel'如何转成中文?其余的都是中文了,就QDialogButtonBox中的 按钮还是英文(在QT设计师中是中文,运行程序的时候却是英文)。
离线lsn752

只看该作者 6楼 发表于: 2009-05-02
已经知道原因了
    QTranslator translatorQt;
    translatorQt.load( ":/translations/Qt_"+language+".qm" );
    if (translatorQt.isEmpty())
        translatorQt.load( QLibraryInfo::location( QLibraryInfo::TranslationsPath) + "/qt_"+QLocale::system().name()+".qm" );
    if (!translatorQt.isEmpty())
        app.installTranslator( &translatorQt );
离线ren_10011
只看该作者 7楼 发表于: 2009-05-13
怎么不知道是怎么解决的呢
快速回复
限100 字节
 
上一个 下一个