2017-11-20 16 views
0

既存の翻訳されたテキストは、自分のGUIに表示されません。 はここmain.pyファイルがfr_FR.qmファイルを含む翻訳したフォルダと並んでsrcフォルダの下にあるmain.pyPyQt5 - 翻訳されたテキストはGUIに表示されません

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_()) 

です。

プリント(trad_path)は、ファイルへのパスが正しい

内部に、私はset_translatable_textesを呼び出しshowEvent()機能を有するMainWindow.pyファイル()関数であることを示している

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') 

)(TRでは

  • )(QCoreApplication.translateで

    1. :私は、翻訳の2種類を試してみてください誰も働いていません。私は関数を呼び出すために、私は各ステートメントを下のコメント文で置き換えます。彼らはどちらも動作します。

    私はおそらく何か間違っていますが、何ですか?

  • 答えて

    0

    どのように愚か! 翻訳者は、MainWindowが現れた時点では準備ができていませんでした。 MainWindow.show()の前にトランスレータのものをメインに配置していました。

    関連する問題