PySide是一個免費的軟件,與PyQt不同之處在于使用了LGPL,允許PySide免費的開發商業軟件。
PySide有15個模塊。這些模塊支持對GUI,多媒體,XML,網絡以及數據庫進行操作。本教程的目的主要是學習其中的兩個模塊:QtCore和QtGui。
QtCore是非界面功能模塊,主要對文件目錄,數據類型,輸入輸出流,url以及線程等提供支持。QtGui提供了對常見界面元素的支持,例如,對話框,窗口,狀態欄,工具欄等等。
首先從Hello world開始
代碼如下:
#!/usr/bin/python
# Import PySide classes
import sys
from PySide.QtCore import *
from PySide.QtGui import *
# Create a Qt application
app = QApplication(sys.argv)
# Create a Label and show it
label = QLabel("Hello World")
label.show()
# Enter Qt application main loop
app.exec_()
sys.exit()
編寫PySide的桌面應用,首先要導入QtCore和QtGui,因為這些類包含了應用中主要功能。QtGui包含界面元素,QtCore包含處理信號和槽的函數等等。在導入模塊完成之后,需要創建QApplication的對象,該對象需要從命令行中接受參數,因此需要想QApplication中傳遞sys.argv。然后,為了讓Hello world順利出現,需要給一個QLabel對象。最后調用show方法顯示label。
app.exec_()將會進入Qt的主循環中不停的輪詢偵聽信號,接受到信號后,就尋找與處理信號的句柄即槽函數。
sys.exit() 就是退出。
Tips :
最后兩句一般寫成: sys.exit(app.exec_())
這里,之所以寫成app.exec_() 而不是app.exec() 是因為exec是python中的關鍵字,所以Qt使用exec_避開。
另外,在PySide中可以使用html標簽使內容更加豐富例如:
代碼如下:
label = QLabel("<font color=red size=40>Hello World</font>")
新聞熱點
疑難解答