我想在我的 PyQt 应用程序中支持多种语言。我有每种语言的 *.qm 文件,并在应用程序实例上安装我的 QTranslator。它在我的主类中工作正常,但在“设置”模式中不起作用。 有什么问题吗?
这是我的代码:
运行.py
if __name__ == "__main__":
app = QApplication([])
translator = QTranslator()
translator.load(resource_path(r'app_en.qm'))
app.installTranslator(translator)
if API.configs.language == 'fa':
translator.load(resource_path('app_fa.qm'))
app.installTranslator(translator)
main_window = Main()
main_window.show()
app.exec()
主.py
class Main(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
ui_path = resource_path('views', 'main.ui')
loadUi(ui_path, self)
self.config = ConfigParser()
self.config.read("MY_CONFIG_PATH")
self.settings_btn.clicked.connect(self.open_settings_window)
def open_settings_window(self):
from forms.settings import Settings
settings_window = Settings(self.config, parent=self)
settings_window.exec()
设置.py
class Settings(QDialog):
def __init__(self, config, parent=None):
super(Settings, self).__init__(parent)
ui_file_path = resource_path('views', 'settings.ui')
loadUi(ui_file_path, self)
我保证所有这些话都在我的ts文件中。
嗯,