Qt LanguageChange 事件 - 找出新的语言
Posted
技术标签:
【中文标题】Qt LanguageChange 事件 - 找出新的语言【英文标题】:Qt LanguageChange event - find out new language 【发布时间】:2015-04-02 09:00:47 【问题描述】:当我有changeEvent(QEvent* event)
和接收类型event->type() == QEvent::LanguageChange
时,如何获取有关我的应用程序中的新语言的信息?
【问题讨论】:
【参考方案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
...
【讨论】:
听起来像是解决方法.. 并且在我不知道我可以拥有多少种语言的情况下不起作用【参考方案2】:Qt 没有任何对象来表示应用程序语言。所以你应该自己实现它。
通常changeEvent(QEvent* event)
类型为QEvent::LanguageChange
是由installTranslator(QTranslator*)
引起的,所以你应该知道你加载到翻译器并存储在本地的女巫语言。
【讨论】:
以上是关于Qt LanguageChange 事件 - 找出新的语言的主要内容,如果未能解决你的问题,请参考以下文章