我喜欢Python,我听过很多关于Qt的内容,所以最近我开始创建简单的GUI应用程序。 当我通过pyuic * .ui文件转换为* .py时,一切看起来都很熟悉,可理解和合理。除了片刻。
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
然后很多行如:
MainWindow.setObjectName(_fromUtf8("MainWindow"))
self.label_5.setObjectName(_fromUtf8("label_5"))
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
self.label_5.setText(_translate("MainWindow", "Surname", None))
当我创建任何应用程序时,不使用 _fromUtf8()和 _translate()等方法:
MainWindow.setObjectName("MainWindow")
self.label_5.setText("Surname")
一切都运作良好。
所以,这是一个问题: 我真的需要使用 _fromUtf8()和 _translate()方法吗?
如果是,为什么?
提前致谢。
答案 0 :(得分:1)
这些方法用于您应用程序的internationalization。如果您不打算以多种语言支持UI,则可以禁用Widget上的所有translatable
设置。
多个小部件具有多个具有此设置的区域。例如,QLabel
有4:
如果您使用的语言使用的字符占用的字符数超过ASCII字符(使用变音符号或多字节字符进行任何想法),则会使用_fromUtf8
。