Subj: возможно ли это? Например, могу ли я перевести QtGui.QFileDialog().getSaveFileName()
кнопку «Сохранить» в «Conservare» и «Отменить» на «Игнорировать»? Можно ли создать мой класс на основе QFileDialog/QFontDialog
, не изобретая скорость? Кто-то сказал, что эти функции будут всегда переведены в зависимости от системного языка. Не верьте, моя русская версия OpenSUSE говорит, что это ложь. :-) И русская Windows 7 имеет такое поведение. Все строки, которые я вижу в моих системах, - английский. Я не националист, но я хочу использовать строки на других языках. :-) Благодаря!PyQt4: QFileDialog и локализация QFontDialog
0
A
ответ
2
Стандартная установка Qt должна включать около 20 файлов перевода для самой библиотеки Qt.
Объяснение того, как их использовать, можно найти в this section документации Qt i18n.
Вот простой пример PyQt4:
from PyQt4 import QtGui, QtCore
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.buttons = QtGui.QDialogButtonBox(self)
button = self.buttons.addButton(QtGui.QDialogButtonBox.Open)
button.clicked.connect(self.handleOpen)
button = self.buttons.addButton(QtGui.QDialogButtonBox.Close)
button.clicked.connect(self.close)
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.buttons)
def handleOpen(self):
dialog = QtGui.QFileDialog()
dialog.exec_()
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
translator = QtCore.QTranslator()
if len(sys.argv) > 1:
locale = sys.argv[1]
else:
locale = QtCore.QLocale.system().name()
translator.load('qt_%s' % locale,
QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath))
app.installTranslator(translator)
window = Window()
window.show()
sys.exit(app.exec_())
0
Я уже нашел решение: qm. Вы можете получить их от ts файлов, используя lrelease
.
Смежные вопросы
- 1. Открытие PyQT4 QFileDialog в собственном режиме без статических помощников
- 2. Python PyQt4 как открыть изображение с помощью QFileDialog
- 3. QFontDialog: получить цвет шрифта
- 4. Как вставить QFontDialog и QColorDialog в QWidget?
- 5. Установить значок в пользовательский QFontDialog
- 6. Новый QFontDialog для каждого QFont?
- 7. PyQt4 Виджет выбора файла
- 8. QFileDialog и german umlaute в пути
- 9. QFileDialog: Выбор каталоги и файлы
- 10. QFileDialog-листы
- 11. QFileDialog отмена
- 12. Индивидуальный QFileDialog
- 13. QFileDialog закрыть при активации кнопки OK
- 14. pyqt4 и pyserial
- 15. mpylayer, PyQt4 и lineEdit
- 16. pyQt4 и наследование
- 17. Pycharm Intellisense и PyQT4
- 18. PyQt4 Drawing и сон
- 19. PyQt4 и pyuic4
- 20. PyQt4: QPainter и QGraphicsSvgItem
- 21. PyQt4 и Ctrl C
- 22. PyQt4 Сигналы и слоты
- 23. PyQt4 Signal и QObject.Emit()
- 24. Локализация и диалекты
- 25. Пространственная и временная локализация
- 26. Локализация, MUI и CLR
- 27. Локализация: Php и Javascript
- 28. DataGridView и локализация данных
- 29. wxPython и локализация
- 30. angularjs фильтр и локализация
Спасибо! Это было действительно полезно. Только один вопрос: могу ли я использовать разные переводы (по умолчанию Qt и мои собственные) вместе? – ghostmansd
У меня есть некоторые элементы в моем приложении, переведенные через другой qm-файл с помощью QTranslator.translate. – ghostmansd
@ghostmansd. Да, вы можете установить несколько переводчиков. Поиск переводов выполняется в обратном порядке, поэтому вы, вероятно, захотите установить свой собственный 'qm' файл _last_ (см. [Здесь] (http://developer.qt.nokia.com/doc/qt-4.8/qcoreapplication .html # installTranslator)). – ekhumoro