Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 默认情况下,QtDesigner Pyqt/Pyside禁用可翻译_Python_Pyqt_Qt Designer_Uic - Fatal编程技术网

Python 默认情况下,QtDesigner Pyqt/Pyside禁用可翻译

Python 默认情况下,QtDesigner Pyqt/Pyside禁用可翻译,python,pyqt,qt-designer,uic,Python,Pyqt,Qt Designer,Uic,是否可以将qtdesigner中所有内容的Translateable复选框设置为默认禁用。我只需要一种语言,更喜欢更干净的自动生成代码,将重传函数留空,并在构造函数中设置所有内容 将所有内容的复选框设置为disabled(禁用)非常烦人。Qt designer不允许这样做,这是插件的默认配置,因此我将提出一个解决方案,用一个小脚本修改.ui以禁用该属性: from PyQt4 import QtCore, QtXml if __name__ == '__main__': filena

是否可以将qtdesigner中所有内容的Translateable复选框设置为默认禁用。我只需要一种语言,更喜欢更干净的自动生成代码,将重传函数留空,并在构造函数中设置所有内容


将所有内容的复选框设置为disabled(禁用)非常烦人。

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