【问题标题】:Dynamic changing of Language in QML viewQML 视图中语言的动态变化
【发布时间】:2019-05-13 05:39:34
【问题描述】:

在我的项目中,有一个包含四种语言选项的语言页面。如果我们改变它们,整个应用程序语言和一些图像就会改变。我的问题是是否有任何信号/回调来切换资源,就像在 Android 中一样,或者我们应该为此 QML 遵循的任何其他机制?

【问题讨论】:

标签: qt qml qt5 qqmlcomponent


【解决方案1】:

要做你需要的,首先要熟悉official documentation on Internationalization and Localization with Qt Quick

接下来,您需要将所有应该翻译成qsTr 的字符串包装起来。然后,这里是切换语言的简化代码:

void Settings::switchToLanguage(const QString &language)
{
    if (!m_translator.isEmpty())
        QCoreApplication::removeTranslator(&m_translator);
    m_translator.load(QStringLiteral(":/language_") + language));
    QCoreApplication::installTranslator(&m_translator));
    m_engine->retranslate();
}

根据文章New in Qt 5.10: Dynamic Language Change in QML

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多