如何从pyuic .py文件重建.ui文件

时间:2014-11-25 11:13:11

标签: python pyqt qt-designer pyuic

前段时间我使用PyQt创建了一个项目。我创建了一些.ui文件并使用pyuic4生成相应的.py文件。我想再次开始工作,但我丢失了.ui文件(我格式化了我的PC并进行了备份,但.ui文件驻留在Qt设计器文件夹中并丢失了。)

有什么办法可以从生成的.py文件中恢复那些.ui文件?

1 个答案:

答案 0 :(得分:3)

可以使用QFormBuilder

执行此操作
from PyQt4 import QtCore, QtGui, QtDesigner
from myui import Ui_Dialog

def dump_ui(widget, path):
    builder = QtDesigner.QFormBuilder()
    stream = QtCore.QFile(path)
    stream.open(QtCore.QIODevice.WriteOnly)
    builder.save(stream, widget)
    stream.close()

app = QtGui.QApplication([''])

dialog = QtGui.QDialog()
Ui_Dialog().setupUi(dialog)

dialog.show()

dump_ui(dialog, 'myui.ui')

(注意:显示窗口似乎非常重要,以获得最佳效果)。

不要期望得到原始ui文件的完美重建。你几乎肯定需要做很多整理以获得可接受的东西 - 但是如果你的ui非常复杂,它应该仍然值得。