前段时间我用 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 非常复杂,它仍然值得。
