溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python中怎么封裝一個(gè)pyqt5類(lèi)

發(fā)布時(shí)間:2021-07-06 14:56:31 來(lái)源:億速云 閱讀:147 作者:Leah 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)Python中怎么封裝一個(gè)pyqt5類(lèi),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

一、代碼封裝思路

1.分析哪些代碼需要封裝:需要封裝的就是我們對(duì)窗體配置的代碼

2.利用類(lèi)的繼承特性

3.調(diào)用父類(lèi)Qwidget的構(gòu)造方法super().__init__()

4.不要忘記調(diào)用自己本身自定義的方法初始化UI

二、GUI位置大小函數(shù)

GUI位置大小函數(shù)使用setGeometry

作用:這個(gè)函數(shù)相當(dāng)于resize函數(shù)和move函數(shù)功能的合體。

函數(shù)使用格式:

控件對(duì)象.setGeometry(X軸,Y軸,寬度,高度)

三、信號(hào)相關(guān)

窗體上面所有的信號(hào)被app.exec_()死循環(huán)監(jiān)聽(tīng)著。

信號(hào)只是在QT中針對(duì)發(fā)生了某個(gè)事件的一個(gè)說(shuō)法。

槽是QT中發(fā)生的具體的某個(gè)事件執(zhí)行的代碼。

窗體上對(duì)GUI的行為都是某個(gè)事件的行為,GUI是被事件驅(qū)動(dòng)的。

信號(hào)槽的簡(jiǎn)單實(shí)用

格式:信號(hào)源.信號(hào).connet(槽)

格式解釋?zhuān)盒盘?hào)源(按鈕).信號(hào)(clicked).connet(某個(gè)事件方法)

舉例:

 #設(shè)置按鈕的點(diǎn)擊后關(guān)閉窗體的事件

        btn.clicked.connect(self.close)

注意:在綁定信號(hào)槽的過(guò)程中,我們的槽方法是不加括號(hào)的

四、總結(jié)強(qiáng)調(diào)

1.掌握類(lèi)的繼承Qwidget的基本思想

2.掌握類(lèi)的功能封面initUI

3.掌握setGeometry函數(shù)

4.掌握簡(jiǎn)單的信號(hào)槽的使用

本節(jié)知識(shí)源碼:

import sysfrom PyQt5.QtWidgets import QWidget,QApplication,QPushButton
class MyClass(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        self.setWindowTitle("劉金玉編程")        self.setGeometry(30,40,300,200)        # self.resize(300,200)        # self.move(30,40)        btn=QPushButton("老劉",self)        btn.move(50,60)        #設(shè)置按鈕的點(diǎn)擊后關(guān)閉窗體的事件        btn.clicked.connect(self.close)        self.show()
if __name__=="__main__":    app=QApplication(sys.argv)    mc=MyClass()    app.exec_()

看完上述內(nèi)容,你們對(duì)Python中怎么封裝一個(gè)pyqt5類(lèi)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI