官术网_书友最值得收藏!

1.2.1 程序入口

通過示例代碼1-1我們能創建出一個非常簡單的PyQt窗口,而這段代碼就是常見的PyQt程序入口。

示例代碼1-1

import sys
from PyQt5.QtWidgets import *
 
if __name__ == '__main__':
    app = QApplication([])         # 1
    label = QLabel('Hello, PyQt!') # 2
    label.show()                   # 3
    sys.exit(app.exec())           # 4

運行結果如圖1-5所示。

圖1-5 簡單的PyQt窗口

代碼解釋:

#1 通過app = QApplication([])語句實例化一個QApplication對象,該對象的作用是接收一個列表類型的值,其實就是用來接收命令行參數的。由于該程序不會與命令行“打交道”,所以直接傳入空列表[]即可。如果程序需要接收命令行參數,則可以傳入sys.argv。

#2 通過label = QLabel('Hello, PyQt!')語句實例化一個QLabel控件,我們通常用它來顯示文本或圖片。在這行代碼中,我們用它來顯示文本。在實例化QLabel控件時,可以直接傳入文本,也可以先實例化,再調用setText()方法來設置,代碼如下所示。

label= QLabel()
label.setText('Hello, PyQt!')

#3 因為控件默認都是隱藏的,所以要調用show()方法將其顯示出來。

#4 通過app.exec()可以讓PyQt程序運行起來,而當用戶正常關閉窗口時,app.exec()會返回數值0,將其傳給sys.exit(),從而讓Python解釋器正常退出。

在本小節中,如果碰到不理解的地方完全沒有關系,先記住可以理解的部分,往下慢慢看,懂的就會越來越多了。比如先記住QLabel控件的用法,知道這個控件是干什么的,以及如何使用它的setText()方法等。

在PyQt中,一個控件可以看作一個窗口。

?

讀者可能發現app對象還有exec_()方法,那是因為在Python 2中exec是關鍵字,所以為了不引起沖突,PyQt官方起初就編寫了帶下畫線的exec_()。不過exec在Python 3中已不再是關鍵字,所以直接調用exec()不會有任何問題。

主站蜘蛛池模板: 平顶山市| 鹤庆县| 新和县| 香河县| 金塔县| 洞口县| 新沂市| 长丰县| 准格尔旗| 措勤县| 且末县| 江孜县| 武邑县| 额济纳旗| 兴安盟| 广平县| 龙陵县| 临泽县| 乌拉特中旗| 长泰县| 金沙县| 佛坪县| 尚义县| 兴化市| 庆安县| 靖江市| 吕梁市| 九江市| 民乐县| 彰化市| 商都县| 沈阳市| 德格县| 天长市| 景洪市| 资中县| 化德县| 哈尔滨市| 古浪县| 吴忠市| 辽中县|