3

不久前,我使用 PyQt 做了一个项目。我创建了一些 .ui 文件并使用 pyuic4 生成了相应的 .py 文件。我想重新开始工作,但我丢失了 .ui 文件(我格式化了我的 PC 并进行了备份,但 .ui 文件位于 Qt 设计器文件夹中并且丢失了)。

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

4

1 回答 1

5

可以使用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 非常复杂,它仍然值得。

于 2014-11-25T19:42:58.357 回答