首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt定位QMainWindow

Qt定位QMainWindow
EN

Stack Overflow用户
提问于 2014-03-19 15:55:04
回答 1查看 197关注 0票数 0

我的项目文件夹当前的设置如下:

代码语言:javascript
复制
   -root
   ---[source files]
   ---Translations
   ------app_en.ts
   ------app_en.qm
   ------app_fr.ts
   ------app_fr.qm
   ------app_jp.ts
   ------app_jp.qm

我的.pro文件:

代码语言:javascript
复制
#-------------------------------------------------
#
# Project created by QtCreator 2014-03-18T15:15:40
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = TestApp
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp
TRANSLATIONS=Translations/app_en.ts\
             Translations/app_fr.ts\
             Translations/app_jp.ts
CODECFORSRC   = UTF-8

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

在我的main.cpp中,我试图强制将其翻译为JP:

代码语言:javascript
复制
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTranslator translator;
    translator.load("app_jp");
    a.installTranslator(&translator);
    MainWindow w;
    w.show();

    return a.exec();
}

但主窗口仍以英文显示。也许我误解了文档,但是我们如何强制某个本地应用程序呢?我的构建输出文件夹中有.qm文件(我在构建输出文件夹的根目录中复制了它们)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 16:42:56

也许您提供了翻译,但没有标记为已完成。检查app_jp.ts (它是type="unfinished" ),您将使用type="unfinished"获得条目。清除这面旗子。也许您也可以通过Qt语言学家工具来完成这个任务(我不记得这个选项在哪里)。

检查本教程

还添加一些日志(以验证是否正确加载了翻译器):

代码语言:javascript
复制
bool translatorLoaded = translator.load("app_jp");
if (!translatorLoaded)
    qWarrning("Problem loading translation file");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22511394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档