答案是简单地使用:
current_locale = QtCore.QLocale()
Run Code Online (Sandbox Code Playgroud)
这将解析为系统区域设置,除非已使用显式重新设置默认区域设置QLocale.setDefault().
因此,正常的过程是:如有必要,在QApplication创建后立即设置默认语言环境.在此之后,无论QLocale何时创建没有参数的对象,它都将解析为您最初自己设置的区域设置,或者回退到系统区域设置.
这似乎意味着最好总是构造一个新QLocale对象来获取有关语言环境的信息,而不是缓存信息以供以后重用.