1

changeEvent(QEvent* event)receive type を使用し ている場合event->type() == QEvent::LanguageChange、アプリの新しい言語に関する情報を取得するにはどうすればよいですか?

4

2 に答える 2

1

翻訳された文字列を既知の翻訳と比較できます。

void changeEvent(QEvent *event)
{
    if (event->type() == QEvent::LanguageChange) {
        QString translated = QCoreApplication::translate("some context", "Button");
        if (translated == "Button")
            // language is English
        else if (translated == "Кнопка")
            // language is Russian
        ...
    }
}
于 2015-04-02T09:52:54.637 に答える