我试图将 QColorDialog 的语言从英语更改为德语,但不幸的是它不起作用。我正在使用 PyQt。
到目前为止我尝试了什么:
设置对话框的语言环境:
colordialog = QtWidgets.QColorDialog()
colordialog.setLocale(QtCore.QLocale(QtCore.QLocale.German, QtCore.QLocale.Germany))
为整个应用程序安装翻译器:
app = QtWidgets.QApplication(sys.argv)
qt_translator = QtCore.QTranslator()
qt_translator.load("qt_" + QtCore.QLocale.system().name(),
QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath))
app.installTranslator(qt_translator)
如果您想将文本翻译成德语,您需要安装德语翻译器,而不是系统语言环境。如果您没有指定
QColorDialog()
选项,DontUseNativeDialog
也会显示系统颜色对话框。所以这样做吧。
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
app = QApplication([])
trans = QTranslator()
trans.load('qt_de',
QLibraryInfo.location(QLibraryInfo.TranslationsPath))
QCoreApplication.installTranslator(trans)
dlg = QColorDialog(None, options = QColorDialog.DontUseNativeDialog)
dlg.exec()
当然,如果你想使用系统语言环境,你可以使用系统语言环境的名称,而不是像你那样硬编码语言环境。
trans.load('qt_' + QLocale.system().name(),
QLibraryInfo.location(QLibraryInfo.TranslationsPath))