首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Qt/PyQt/PySide中找到当前的QLocale?

如何在Qt/PyQt/PySide中找到当前的QLocale?
EN

Stack Overflow用户
提问于 2015-01-27 01:43:39
回答 2查看 3.9K关注 0票数 5

如何找到当前活动的QLocale?我们可以使用QLocale.system()找到默认的系统区域设置,但我希望类似于QLocale.current()这样的东西来检查我试图进行的区域设置更改是否实际有效。

文献资料有许多用于设置区域设置或查找给定QLocale属性的方法。但是,是否有一个简单的方法来返回当前的QLocale,这样我就可以将这些方法应用于它(例如,name())?

相关问题

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-27 19:33:59

答案是简单地使用:

代码语言:javascript
复制
current_locale = QtCore.QLocale()

这将解析为系统区域设置,除非使用QLocale.setDefault()显式地重新设置默认区域设置。

因此,通常的过程是:如果有必要,在创建QApplication之后立即设置默认的区域设置。在此之后,每当创建没有参数的QLocale对象时,它将解析为您最初设置的区域设置,或者返回到系统区域设置。

这似乎意味着,最好总是构造一个新的QLocale对象来获取有关区域设置的信息,而不是缓存信息供以后重用。

票数 5
EN

Stack Overflow用户

发布于 2017-06-30 21:51:18

您可以通过获取类的实例来找到当前的区域设置:

代码语言:javascript
复制
curr_locale = QLocale()

然后获取当前的区域设置信息,例如:

代码语言:javascript
复制
print(curr_locale.nativeCountryName(), curr_locale.name(), curr_locale.nativeLanguageName())

如果您想更改当前的区域设置,例如:

代码语言:javascript
复制
QLocale.setDefault(QLocale(QLocale.Portuguese, QLocale.Brazil))

有关更多方法,请参见QLocale文档

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28161888

复制
相关文章

相似问题

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