我试图找出如何养活PyQt的tr()
或trUtf8()
函数UTF-8文本。
下面举例说明字符串:
self.tr('λληνικά')
self.tr(u'εληνικά')
self.tr('ελνικά'.encode('utf-8'))
self.tr(u'ελληικά'.encode('utf-8'))
self.trUtf8('λληνικ')
self.trUtf8(u'εληνιά')
self.trUtf8('ελνι'.encode('utf-8'))
self.trUtf8(u'ελλκά'.encode('utf-8'))
与那些self.tr
显示在Qt语言乱码。 与那些self.trUtf8
显示效果细腻,但应用时,他们触发警告pylupdate4
:
Non-ASCII character detected in trUtf8 string
领先的U和.encode('utf-8')
似乎并没有什么差别,至少在(使用解析时间pylupdate4
)。
什么是进行正确的方法是什么?
我也想知道这个线的作用:
QtCore.QTextCodec.setCodecForTr(QtCore.QTextCodec.codecForName("utf-8"))
但我知道它有对文件的解析没有影响pylupdate4
,它只能使在执行时的差异。