26
A
回答
33
與PyQt不同,PySide已經實現了QUiLoader類來直接讀取.ui文件。 從鏈接的文檔,
loader = QUiLoader()
file = QFile(":/forms/myform.ui")
file.open(QFile.ReadOnly)
myWidget = loader.load(file, self)
file.close()
36
對於在PySide和的.ui文件完整的菜鳥,這裏是一個完整的例子:
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_())
+0
非常感謝你 –
+0
試試這個@Necronomicron – 101
2
另一種變化的基礎上,縮短加載指令,在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文件。- 您可能需要使用
if __name__ == "__main__":
在BarryPye's answer
相關問題
- 1. 如何使用PySide將.ui文件加載到python類上?
- 2. QtDesigner UI和Javascript
- 3. 如何在QtDesigner中加載QMovie?
- 4. 如何在Qtdesigner中創建.ui文件的頭文件和源文件?
- 5. 如何將QtDesigner UI格式加載到另一個UI格式的QFrame中?
- 6. 將圖形嵌入GUI(Qtdesigner和Pyside)
- 7. 加載本地html文件到Pyside QwebView
- 8. 的圖像不會在節目中顯示,使用PySide和QtDesigner
- 9. 如何使用PySide讀取.ui文件中的小部件
- 10. 」未能創建過程。「錯誤轉換QtDesigner文件時使用pyside-UIC
- 11. 如何在PySide中本地化UI文件
- 12. 如何用QtDesigner 4打開一個Pyqt 3.3 ui文件?
- 13. Qtdesigner中的Matplotlib小部件
- 14. 無法執行UI文件中的QWidget,PySide
- 15. Facebook不加載PySide qwebview
- 16. Python:從單獨的文件加載UI
- 17. 在QtDesigner
- 18. 使用QtDesigner將Pyside與Matplotlib連接 - 使用pushButton繪製
- 19. 直接從UI文件加載QDialog?
- 20. PyQt - 加載多個UI文件
- 21. FullCalendar在jQuery UI模式對話框中加載外部文件
- 22. 在Pyside中加載一個簡單的Qt設計器表格
- 23. 使用文件加載器從webpack中的jQuery UI加載資產
- 24. 如何刪除pyside/pyqt中的ui組件的屬性?
- 25. JQuery UI加載事件?
- 26. QtDesigner中的自定義qt小部件
- 27. QtDesigner中重疊的小部件
- 28. 加載文件的jQuery加載文件
- 29. 如何在Qt VS加載項中添加額外的.ui文件
- 30. 在Datastage中加載文件
概述只是爲了幫助菜鳥一起:QUiLoader是'PySide.QtUiTools.QUiLoader' – brews
我得到的是這樣的:'的QPixmap:前必須構造一個QApplication的QPaintDevice中止(核心轉儲)' – Lucio
@Lucio此答案中的代碼片段不能單獨使用。按照BarryPye的答案完成一個例子。 – JBentley