不久前,我使用 PyQt 做了一个项目。我创建了一些 .ui 文件并使用 pyuic4 生成了相应的 .py 文件。我想重新开始工作,但我丢失了 .ui 文件(我格式化了我的 PC 并进行了备份,但 .ui 文件位于 Qt 设计器文件夹中并且丢失了)。
有什么办法可以从生成的 .py 文件中恢复那些 .ui 文件?
不久前,我使用 PyQt 做了一个项目。我创建了一些 .ui 文件并使用 pyuic4 生成了相应的 .py 文件。我想重新开始工作,但我丢失了 .ui 文件(我格式化了我的 PC 并进行了备份,但 .ui 文件位于 Qt 设计器文件夹中并且丢失了)。
有什么办法可以从生成的 .py 文件中恢复那些 .ui 文件?
可以使用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 非常复杂,它仍然值得。