來創(chuàng)建第一個 PyQt 應(yīng)用吧!本文由Cescfangs 譯自ZetCode pyqt5系列教程 并作適當(dāng)修改。
之前用C++做過Qt的應(yīng)用,用過一次就喜歡上了Qt,但對于C++本身并不是很喜歡(當(dāng)時本寶寶還年輕??),可能是因為C++確實很難,在學(xué)習(xí)Python之后,對于PyQt開發(fā)更加感興趣。話不多說,第一篇介紹如何創(chuàng)建一個簡單的窗口。先上源代碼:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('First PyQt5')
w.show()
sys.exit(app.exec_())
代碼解析:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
先導(dǎo)入所需要的模塊,包括sys,PyQt5.QtWidgets的QApplication和QWidget模塊。
app = QApplication(sys.argv)
每一個PyQt5項目都需要創(chuàng)建一個QApplication對象。sys.argv則提供了命令行的一些參數(shù),這樣Python腳本就能從Shell運行,這是我們控制腳本開始運行的方式。
w = QWidget()
QWidget是所有界面的基類,這里采用默認(rèn)的構(gòu)造函數(shù)(無父對象,沒有父對象的widget也就是window)。
w.resize(250, 150)
用resize函數(shù)重設(shè)了窗口的大小為250px寬,150px高。
w.move(300, 300)
move函數(shù)把窗口移動到了x=300,y=300d的坐標(biāo)位置。
w.setWindowTitle('Simple')
設(shè)置了窗口的標(biāo)題,會在窗口的標(biāo)題欄中央顯示。
w.show()
show函數(shù)讓Simple這個窗口在屏幕中顯示出來,這個窗口是先在內(nèi)存中產(chǎn)生,然后再顯示在屏幕中的。
sys.exit(app.exec_())
在開頭我們設(shè)置了這個應(yīng)用的主函數(shù),事件由此開始產(chǎn)生,主函數(shù)從窗口系統(tǒng)接受事件并傳遞給widget應(yīng)用,而當(dāng)我們使用exit()或者關(guān)閉了widget時,主函數(shù)就終止。sys.exit()確保干凈利落不留痕跡地退出。
注意到這里的代碼exec_(),exec后面還有個'_',這是因為exec是Python的關(guān)鍵字,為了避免沖突用了一個下短橫。最后可以看到一個簡單的窗口界面:

需要說明的是,Qt自帶有QtDesigner設(shè)計交互界面,相比手寫界面代碼是一種更直觀的方式,在以后的學(xué)習(xí)筆記里也會介紹界面與代碼分開的方法,但是作為初學(xué),手寫一些簡單的界面是有助于理解Qt的。