vbs获取程序窗体句柄_PyQt5 GUI程序的基本框架
本節(jié)先通過一個(gè)簡單的示例程序介紹PyQt5 GUI應(yīng)用程序的基本框架。
啟動(dòng)Python自帶的編程和交互式環(huán)境IDLE,點(diǎn)擊“File”→“New File”菜單項(xiàng),打開一個(gè)文件編輯窗口,在此窗口中輸入下面的程序,并保存為文件demo2_1Hello.py,此文件保存在隨書示例Demo2_1目錄下。
## demo2_1Hello.py## 使用PyQt5,純代碼化創(chuàng)建一個(gè)簡單的GUI程序import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsapp = QtWidgets.QApplication(sys.argv) #創(chuàng)建app,用QApplication類widgetHello = QtWidgets.QWidget() #創(chuàng)建窗體,用QWidget類widgetHello.resize(280,150) #設(shè)置窗體的寬度和高度widgetHello.setWindowTitle("Demo2_1") #設(shè)置窗體的標(biāo)題文字LabHello = QtWidgets.QLabel(widgetHello) #創(chuàng)建標(biāo)簽,父容器為widgetHelloLabHello.setText("Hello World,PyQt5") #設(shè)置標(biāo)簽文字font = QtGui.QFont() #創(chuàng)建字體對(duì)象font,用QFont類font.setPointSize(12) #設(shè)置字體大小font.setBold(True) #設(shè)置為粗體LabHello.setFont(font) #設(shè)置為標(biāo)簽LabHello的字體size=LabHello.sizeHint() #獲取LabHello的合適大小,返回值是QSize類對(duì)象LabHello.setGeometry(70, 60, size.width(), size.height())widgetHello.show() #顯示對(duì)話框sys.exit(app.exec_()) #應(yīng)用程序運(yùn)行程序輸入完成后,在程序編輯器窗口中點(diǎn)擊“Run”→“Run Module”菜單項(xiàng),或直接按快捷鍵F5就可以運(yùn)行程序,會(huì)出現(xiàn)圖2-1所示的窗口。
圖2-1 文件demo2_1Hello.py運(yùn)行結(jié)果窗口
這是一個(gè)典型的GUI應(yīng)用程序。觀察文件demo2_1Hello.py的代碼,并結(jié)合程序中的注釋,可以看出此程序的基本工作原理。
(1)首先導(dǎo)入了PyQt5包中的一些模塊,包括QtCore,QtGui,QtWidgets,其中每個(gè)模塊都包含了一些類。
(2)用下面的語句創(chuàng)建了一個(gè)應(yīng)用程序。
app = QtWidgets.QApplication(sys.argv)這里用到了QtWidgets模塊中的QApplication類。QApplication是管理GUI應(yīng)用程序的控制流程和設(shè)置的類,這里創(chuàng)建的應(yīng)用程序?qū)ο笫莂pp。
(3)使用QtWidgets模塊中的QWidget類創(chuàng)建了窗體對(duì)象widgetHello,然后調(diào)用QWidget類的resize()函數(shù)設(shè)置窗體大小,調(diào)用setWindowTitle()函數(shù)設(shè)置窗體標(biāo)題。
(4) 使用QtWidgets模塊中的QLabel類創(chuàng)建了一個(gè)標(biāo)簽對(duì)象LabHello,創(chuàng)建LabHello的語句是:
LabHello = QtWidgets.QLabel(widgetHello)這里將widgetHello作為參數(shù)傳遞給QLabel的構(gòu)造函數(shù),實(shí)際是指定widgetHello作為LabHello的父容器,這樣標(biāo)簽LabHello才會(huì)顯示在窗體widgetHello上。
后面的代碼用QLabel的接口函數(shù)setText()設(shè)置標(biāo)簽的文字,又創(chuàng)建了一個(gè)QFont對(duì)象用于設(shè)置標(biāo)簽的字體,還設(shè)置了標(biāo)簽在窗體上的位置和大小。
(5)窗體顯示和程序運(yùn)行。
窗體widgetHello和文字標(biāo)簽LabHello創(chuàng)建并設(shè)置好各種屬性后,就顯示窗體并運(yùn)行應(yīng)用程序,即程序中的最后兩行語句:
widgetHello.show()sys.exit(app.exec_())這里的窗體widgetHello是應(yīng)用程序的主窗體,應(yīng)用程序運(yùn)行后開始消息管理。
這個(gè)示例程序演示了使用PyQt5的一些類創(chuàng)建GUI程序的基本過程。首先需要用QApplication類創(chuàng)建一個(gè)應(yīng)用程序?qū)嵗?#xff0c;然后創(chuàng)建一個(gè)窗體(窗體類主要有QWidget、QDialog、QMainWindow),再創(chuàng)建界面組件(例如一個(gè)QLabel組件)并在窗體上顯示,最后是顯示窗體并開始應(yīng)用程序的消息循環(huán)。這個(gè)程序雖然功能很簡單,只顯示了一個(gè)帶標(biāo)簽的窗口,關(guān)閉窗口還需要點(diǎn)擊窗口右上角的關(guān)閉按鈕,但它已經(jīng)是一個(gè)標(biāo)準(zhǔn)的GUI應(yīng)用程序。
提示 從上面的程序中可以看出,PyQt5中的類都是以大寫字母Q開頭命名的,如QWidget、QApplication、QLabel等,這樣的命名規(guī)則很容易將PyQt5的類與其他的類或變量區(qū)分開來。
總結(jié)
以上是生活随笔為你收集整理的vbs获取程序窗体句柄_PyQt5 GUI程序的基本框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《自然语言处理简明教程》读书笔记:第二章
- 下一篇: 带有Flask的服务器端DataTabl