2014-11-25 182 views
1

後來我用PyQt做了一個項目。我創建了一些.ui文件,並使用pyuic4生成相應的.py文件。我想再次開始工作,但我失去了.ui文件(我格式化了我的PC並進行了備份,但.ui文件駐留在Qt設計器文件夾中並丟失了)。如何從pyuic .py文件重建.ui文件

有沒有什麼辦法可以從生成的.py文件恢復這些.ui文件?

+0

[Converting.py to .ui file]的可能重複(http://stackoverflow.com/questions/15822786/converting-py-to-ui-file) – Yoann 2014-11-25 13:27:19

+1

@Yoann。這個問題被接受的答案是錯誤的,並沒有提供有用的建議。 – ekhumoro 2014-11-25 19:47:12

回答

2

這是可能做到這一點使用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很複雜,那還是值得的。