Poszukuję prostego przykładu, jak bezpośrednio załadować plik .ui wygenerowany przez QtDesigner do aplikacji Python.Ładowanie plików .ui QtDesigner do PySide
Po prostu chciałbym uniknąć używania pyuic4.
Poszukuję prostego przykładu, jak bezpośrednio załadować plik .ui wygenerowany przez QtDesigner do aplikacji Python.Ładowanie plików .ui QtDesigner do PySide
Po prostu chciałbym uniknąć używania pyuic4.
PySide, w przeciwieństwie do PyQt, zaimplementował klasę QUiLoader do bezpośredniego odczytu w plikach .ui. Od połączonego dokumentacji
loader = QUiLoader()
file = QFile(":/forms/myform.ui")
file.open(QFile.ReadOnly)
myWidget = loader.load(file, self)
file.close()
Dla kompletnych noobs na PySide i plików .ui, tutaj jest pełna przykładów:
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_())
Bardzo dziękuję –
Spróbuj tego @Necronomicron – 101
Inny wariant, oparty na krótszym dyrektywy obciążenia znaleźć na https://askubuntu.com/questions/140740/should-i-use-pyqt-or-pyside-for-a-new-qt-project#comment248297_141641 . (W zasadzie, można uniknąć wszystkich, że otwieranie i zamykanie plików.)
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_())
Uwagi:
filename.ui
powinny być w tym samym folderze co plik .py.if __name__ == "__main__":
jak wskazano w BarryPye's answer
Wystarczy pomóc noobs wzdłuż: QUiLoader jest z 'PySide.QtUiTools.QUiLoader' – brews
Wszystko mam to:' QPixmap: Musi zbudować QApplication przed QPaintDevice Przerwane (rdzeń wyrzucony) ' – Lucio
@Lucio Fragment kodu w tej odpowiedzi nie może być używany w izolacji. Postępuj zgodnie z odpowiedzią BarryPye na pełny przykład. – JBentley