Qt LanguageChange 事件 - 找出新的语言
Qt LanguageChange event - find out new language
当我的 changeEvent(QEvent* event)
接收类型为 event->type() == QEvent::LanguageChange
时,我如何获取有关我的应用程序中的新语言的信息?
您可以将翻译后的字符串与其已知译文进行比较:
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
...
}
}
Qt 没有任何对象来表示应用程序语言。所以你应该自己实现它。
通常 changeEvent(QEvent* event)
类型 QEvent::LanguageChange
是由 installTranslator(QTranslator*)
引起的,所以您应该知道 您加载到翻译器并存储在本地的语言。
当我的 changeEvent(QEvent* event)
接收类型为 event->type() == QEvent::LanguageChange
时,我如何获取有关我的应用程序中的新语言的信息?
您可以将翻译后的字符串与其已知译文进行比较:
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
...
}
}
Qt 没有任何对象来表示应用程序语言。所以你应该自己实现它。
通常 changeEvent(QEvent* event)
类型 QEvent::LanguageChange
是由 installTranslator(QTranslator*)
引起的,所以您应该知道 您加载到翻译器并存储在本地的语言。