例程来自:https://github.com/wkentaro/labelme
translator = QtCore.QTranslator()
translator.load(
QtCore.QLocale.system().name(),
osp.dirname(osp.abspath(__file__)) + "/translate",
)
app = QtWidgets.QApplication(sys.argv)
app.setApplicationName(__appname__)
app.setWindowIcon(newIcon("icon"))
app.installTranslator(translator)
win = MainWindow(
config=config,
filename=filename,
output_file=output_file,
output_dir=output_dir,
)
win.show()
win.raise_()
sys.exit(app.exec_())
如上这些是在初始化的时候选择语言包
下面介绍在界面设计主类中切换语言
def __init__(self):
self.trans = QTranslator()
#翻译成中文
def translate_chinese(self):
#默认的中文包,不要新建
self.trans.load('zh_CN')
_app = QtWidgets.QApplication.instance()
_app.installTranslator(self.trans)
self.retranslateUi(self)