學(xué)習(xí)Python之后,對于PyQt開發(fā)更加感興趣。話不多說,第一篇介紹如何創(chuàng)建一個(gè)簡單的窗口。先上源代碼:
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)
每一個(gè)PyQt5項(xiàng)目都需要?jiǎng)?chuàng)建一個(gè)QApplication對象。sys.argv則提供了命令行的一些參數(shù),這樣Python腳本就能從Shell運(yùn)行,這是我們控制腳本開始運(yùn)行的方式。
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ù)把窗口移動(dòng)到了x=300,y=300d的坐標(biāo)位置。
w.setWindowTitle(’Simple’)
設(shè)置了窗口的標(biāo)題,會(huì)在窗口的標(biāo)題欄中央顯示。
w.show()
show函數(shù)讓Simple這個(gè)窗口在屏幕中顯示出來,這個(gè)窗口是先在內(nèi)存中產(chǎn)生,然后再顯示在屏幕中的。
sys.exit(app.exec_())
在開頭我們設(shè)置了這個(gè)應(yīng)用的主函數(shù),事件由此開始產(chǎn)生,主函數(shù)從窗口系統(tǒng)接受事件并傳遞給widget應(yīng)用,而當(dāng)我們使用exit()或者關(guān)閉了widget時(shí),主函數(shù)就終止。sys.exit()確保干凈利落不留痕跡地退出。
注意到這里的代碼exec_(),exec后面還有個(gè)’_’,這是因?yàn)?/span>exec是Python的關(guān)鍵字,為了避免沖突用了一個(gè)下短橫。最后可以看到一個(gè)簡單的窗口界面:
需要說明的是,Qt自帶有QtDesigner設(shè)計(jì)交互界面,相比手寫界面代碼是一種更直觀的方式,在以后的學(xué)習(xí)筆記里也會(huì)介紹界面與代碼分開的方法,但是作為初學(xué),手寫一些簡單的界面是有助于理解Qt的。
原文來自:簡書/鏈球選手