【发布时间】:2017-03-02 00:47:53
【问题描述】:
我正在尝试使我的 PyQt 程序国际化。我加载自己的翻译没有问题,但我注意到文件对话框之类的东西似乎仍然使用系统语言环境。 this 等答案表明我应该能够通过安装 Qt 附带的翻译文件来翻译内置 Qt 小部件。
我尝试加载 Qt 提供的德语翻译,但我的文件对话框仍以英语显示。这可以与QFileDialog 静态函数一起使用吗?难道我做错了什么?
from PyQt5 import QtCore, QtWidgets
class Window(QtWidgets.QWidget):
def __init__(self):
super(Window, self).__init__()
button = QtWidgets.QPushButton('Show dialog')
button.clicked.connect(self.showdialog)
layout = QtWidgets.QVBoxLayout(self)
layout.addWidget(button)
def showdialog(self):
QtWidgets.QFileDialog.getOpenFileName()
if __name__ == '__main__':
app = QtWidgets.QApplication([])
translator = QtCore.QTranslator()
if translator.load('qt_de', QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)):
app.installTranslator(translator)
print 'qt translations installed'
win = Window()
win.show()
app.exec_()
【问题讨论】:
标签: qt localization pyqt