[英]PyQt5 - Translated texts do not appear in the GUI
尽管已有翻译文本,但我的GUI中没有出现。 这是main.py
from PyQt5 import QtCore
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
import sys, os
from view.MainWindow import MainWindow
if __name__=='__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
MainWindow.show(mainWindow)
translator = QtCore.QTranslator()
(filepath,filename)=os.path.split(__file__)
trad_path=os.path.join(filepath,'translate','fr_FR.qm')
print (trad_path)
translator.load(trad_path)
app.installTranslator(translator)
sys.exit(app.exec_())
main.py文件位于src文件夹下,其中包含fr_FR.qm文件。
打印(trad_path)显示文件路径正确
在内部,MainWindow.py文件中有一个showEvent()函数,该函数调用set_translatable_textes()函数
def showEvent(self,ev):
print('in show event')
self.set_translatable_textes()
def set_translatable_textes(self):
self.choose_session_label.setText(
QCoreApplication.translate(
'Main Window','A text that has translation'))
#self.choose_session_label.setText('Untranslated text')
self.edit_button.setText(self.tr('Edit'))
#self.edit_button.setText('Untranslated text')
我尝试两种翻译:
我可能做错了什么?
真蠢! MainWindow出现时,翻译器尚未准备就绪。 我将转换程序的东西放在MainWindow.show()之前的main中,然后一切正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.