PySide是一個免費的軟件,與PyQt不同之處在于使用了LGPL,允許PySide免費的開發(fā)商業(yè)軟件。
PySide有15個模塊。這些模塊支持對GUI,多媒體,XML,網(wǎng)絡(luò)以及數(shù)據(jù)庫進(jìn)行操作。本教程的目的主要是學(xué)習(xí)其中的兩個模塊:QtCore和QtGui。
QtCore是非界面功能模塊,主要對文件目錄,數(shù)據(jù)類型,輸入輸出流,url以及線程等提供支持。QtGui提供了對常見界面元素的支持,例如,對話框,窗口,狀態(tài)欄,工具欄等等。
首先從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的桌面應(yīng)用,首先要導(dǎo)入QtCore和QtGui,因為這些類包含了應(yīng)用中主要功能。QtGui包含界面元素,QtCore包含處理信號和槽的函數(shù)等等。在導(dǎo)入模塊完成之后,需要創(chuàng)建QApplication的對象,該對象需要從命令行中接受參數(shù),因此需要想QApplication中傳遞sys.argv。然后,為了讓Hello world順利出現(xiàn),需要給一個QLabel對象。最后調(diào)用show方法顯示label。
app.exec_()將會進(jìn)入Qt的主循環(huán)中不停的輪詢偵聽信號,接受到信號后,就尋找與處理信號的句柄即槽函數(shù)。
sys.exit() 就是退出。
Tips :
最后兩句一般寫成: sys.exit(app.exec_())
這里,之所以寫成app.exec_() 而不是app.exec() 是因為exec是python中的關(guān)鍵字,所以Qt使用exec_避開。
另外,在PySide中可以使用html標(biāo)簽使內(nèi)容更加豐富例如:
代碼如下:
label = QLabel("<font color=red size=40>Hello World</font>")
新聞熱點
疑難解答
圖片精選