在 QT StandardDialogs (QColorDialog) 中更改语言

问题描述 投票:0回答:1

我试图将 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)
python qt pyqt locale qcolordialog
1个回答
0
投票

如果您想将文本翻译成德语,您需要安装德语翻译器,而不是系统语言环境。如果您没有指定

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))
© www.soinside.com 2019 - 2024. All rights reserved.