में QtDesigner की .ui फ़ाइलों को लोड करना मैं एक सरल उदाहरण की तलाश कर रहा हूं कि एक पायथन एप्लिकेशन में QtDesigner जेनरेट की गई .ui फ़ाइल को सीधे लोड कैसे करें।पायसाइड
मैं बस pyuic4 का उपयोग करने से बचना चाहता हूं।
में QtDesigner की .ui फ़ाइलों को लोड करना मैं एक सरल उदाहरण की तलाश कर रहा हूं कि एक पायथन एप्लिकेशन में QtDesigner जेनरेट की गई .ui फ़ाइल को सीधे लोड कैसे करें।पायसाइड
मैं बस pyuic4 का उपयोग करने से बचना चाहता हूं।
पीईक्यूटी के विपरीत, पायसाइड ने QUiLoader कक्षा को सीधे .ui फ़ाइलों में पढ़ने के लिए लागू किया है। जुड़ा हुआ प्रलेखन से,
loader = QUiLoader()
file = QFile(":/forms/myform.ui")
file.open(QFile.ReadOnly)
myWidget = loader.load(file, self)
file.close()
PySide और .ui फ़ाइलों को पूरा noobs के लिए, यहाँ एक पूरा उदाहरण है:
from PySide import QtCore, QtGui, QtUiTools
def loadUiWidget(uifilename, parent=None):
loader = QtUiTools.QUiLoader()
uifile = QtCore.QFile(uifilename)
uifile.open(QtCore.QFile.ReadOnly)
ui = loader.load(uifile, parent)
uifile.close()
return ui
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = loadUiWidget(":/forms/myform.ui")
MainWindow.show()
sys.exit(app.exec_())
आपको बहुत धन्यवाद –
इस @Necronomicron आज़माएं – 101
एक और प्रकार, एक छोटा लोड निर्देश के आधार पर, https://askubuntu.com/questions/140740/should-i-use-pyqt-or-pyside-for-a-new-qt-project#comment248297_141641 पर पाया । (मूल रूप से, आप सभी उस फ़ाइल खोलने और बंद करने से बच सकते हैं।)
import sys
from PySide import QtUiTools
from PySide.QtGui import *
app = QApplication(sys.argv)
window = QtUiTools.QUiLoader().load("filename.ui")
window.show()
sys.exit(app.exec_())
नोट्स:
filename.ui
अपने .py फ़ाइल को उसी फ़ोल्डर में होना चाहिए।
में उल्लिखित बस साथ noobs मदद करने के लिए
if __name__ == "__main__":
उपयोग कर सकते हैं: QUiLoader 'PySide.QtUiTools.QUiLoader' – brewsसे है सभी मैं यह है:' QPixmap: एक से पहले एक QApplication का निर्माण अवश्य QPaintDevice निरस्त (कोर डंप किया गया) ' – Lucio
@ लुइसियो इस उत्तर में कोड स्निपेट अलगाव में उपयोग नहीं किया जा सकता है। एक पूर्ण उदाहरण के लिए बैरीपी के जवाब का पालन करें। – JBentley