QtDesigner Pyqt / Pyside отключить переводимый по умолчанию - PullRequest
0 голосов
/ 26 августа 2018

возможно ли установить переводимый флажок для всего внутри qtdesigner как отключенный по умолчанию.Мне нужен только один язык, и я предпочитаю более чистый автоматически сгенерированный код, оставляя пустым функцию retranslateUI и все настраивая в конструкторе.

Установка флажка для всего, что отключено, очень раздражает.

1 Ответ

0 голосов
/ 27 августа 2018

Qt designer не позволяет это делать, это конфигурация по умолчанию, которую имеют плагины, поэтому я предложу обходной путь, изменив .ui небольшим скриптом, чтобы отключить это свойство:

from PyQt4 import QtCore, QtXml

if __name__ == '__main__':

    filename = "/path/of/your_file.ui"

    file = QtCore.QFile(filename)
    if not file.open(QtCore.QFile.ReadOnly):
        sys.exit(-1)

    doc = QtXml.QDomDocument()
    if not doc.setContent(file):
        sys.exit(-1)
    file.close()

    strings = doc.elementsByTagName("string")
    for i in range(strings.count()):
        strings.item(i).toElement().setAttribute("notr", "true")

    if not file.open(QtCore.QFile.Truncate|QtCore.QFile.WriteOnly):
        sys.exit(-1)

    xml = doc.toByteArray()
    file.write(xml)
    file.close()

Примечание:

Сценарий совместим с PyQt4, PyQt5, PySide и PySide2, они должны заменять только PyQt4 с именем других библиотек.

...