日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5信號(hào)與槽的高級(jí)使用技巧裝飾器信號(hào)與槽詳細(xì)使用方法與實(shí)例

瀏覽:31日期:2022-08-03 14:02:46
裝飾器信號(hào)與槽

所謂裝飾器信號(hào)與槽,就是通過(guò)裝飾器的方法來(lái)定義信號(hào)與槽函數(shù),具體的使用方法如下

@PyQt5.QtCore.pyqtSlot(參數(shù))def on_發(fā)送者對(duì)象名稱_發(fā)射信號(hào)名稱(self,參數(shù)): pass

這種方法有效的前提是下面的函數(shù)已經(jīng)執(zhí)行:

QMetaObject.connectSlotsByName(QObject)

在上面的代碼中,‘發(fā)送者對(duì)象名稱’就是使用setObjectName函數(shù)設(shè)置的名稱,因此自定義槽函數(shù)的命名規(guī)則也可以看做:on+使用setObjectName設(shè)置的名稱+信號(hào)名稱

接下來(lái)是具體的實(shí)例

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QHBoxLayout,QPushButtonfrom PyQt5 import QtCoreclass CustWidget(QWidget): def __init__(self,parent=None): super(CustWidget, self).__init__(parent) #創(chuàng)建按鈕,添加到自身窗口中 self.okButton=QPushButton(’ok’,self) #使用setObjectName設(shè)置對(duì)象名稱 self.okButton.setObjectName(’okButton’) #設(shè)置自身的布局為水平布局,并添加按鈕控件到其中 layout=QHBoxLayout(self) layout.addWidget(self.okButton) #TODo 第一種方法 #self.okButton.clicked.connect(self.okButton_clicked) #def okButton_clicked( self ): # print(’單擊了ok按鈕’) #第二種方法 QtCore.QMetaObject.connectSlotsByName(self) @QtCore.pyqtSlot() def on_okButton_clicked( self ): print(’單擊了ok按鈕’)if __name__ == ’__main__’: app=QApplication(sys.argv) win=CustWidget() win.show() sys.exit(app.exec_())

運(yùn)行程序,顯示效果如圖,單擊ok按鈕,控制臺(tái)打印預(yù)期調(diào)試信息

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5信號(hào)與槽的高級(jí)使用技巧裝飾器信號(hào)與槽詳細(xì)使用方法與實(shí)例

QtCore.QMetaObject.connectSlotsByName(self)

事實(shí)上,它是PyQt5中根據(jù)信號(hào)名稱自動(dòng)連接到槽函數(shù)的核心代碼,這行代碼用來(lái)將QObject中的子孫對(duì)象的某些對(duì)象按照其objectName連接到相應(yīng)的槽函數(shù),舉個(gè)例子說(shuō)名一下

假設(shè)代碼QtCore.QMetaObject.connectSlotsByName(self)已經(jīng)執(zhí)行,則下面的代碼

@QtCore.pyqtSlot()

def on_okButton_clicked( self ):

print(’單擊了ok按鈕’)

會(huì)被自動(dòng)識(shí)別為下面的代碼

def __init__(self,parent=None):

self.okButton.clicked.connect(self.okButton_clicked)

def okButton_clicked(self):

print(’單擊了ok按鈕’)

信號(hào)與槽的斷開(kāi)與連接

有時(shí)候基于某些原因,想要臨時(shí)或永久的斷開(kāi)某個(gè)信號(hào)與槽函數(shù)的連接,這就是要說(shuō)的內(nèi)容

一般把connect前面加上dis就是解除綁定的意思:即disconnect

實(shí)例如下

from PyQt5.QtCore import QObject,pyqtSignalclass SignalClass(QObject): #聲明無(wú)參數(shù)的信號(hào) signal1=pyqtSignal() #聲明帶一個(gè)int類型參數(shù)的信號(hào) signal2=pyqtSignal(int) def __init__(self,parent=None): super(SignalClass, self).__init__(parent) #將signal1信號(hào)連接到兩個(gè)槽函數(shù) self.signal1.connect(self.sig1Call) self.signal1.connect(self.sig2Call) #將signal2信號(hào)連接到信號(hào)1 self.signal2.connect(self.signal1) #發(fā)射信號(hào) self.signal1.emit() self.signal2.emit(1) #斷開(kāi)信號(hào)與槽函數(shù)的關(guān)系 self.signal1.disconnect(self.sig1Call) self.signal1.disconnect(self.sig2Call) self.signal2.disconnect(self.signal1) #綁定信號(hào)與槽函數(shù) self.signal1.connect(self.sig1Call) self.signal2.connect(self.sig1Call) #信號(hào)發(fā)射 self.signal1.emit() self.signal2.emit(1) #輸出信號(hào)1發(fā)射 def sig1Call( self ): print(’signal-1 emit’) #輸出信號(hào)2發(fā)射 def sig2Call( self ): print(’signal-2 emit’)if __name__ == ’__main__’: signal=SignalClass()

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5信號(hào)與槽的高級(jí)使用技巧裝飾器信號(hào)與槽詳細(xì)使用方法與實(shí)例

本文主要講解了PyQt5信號(hào)與槽的高級(jí)使用技巧裝飾器信號(hào)與槽詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5信號(hào)與槽的知識(shí)請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷成人基地| 精品久久视频| 亚洲激情精品| 一区二区自拍| 日韩一区中文| 美女性感视频久久| 三级精品视频| 日韩影院免费视频| 国产欧美日韩免费观看| 黄毛片在线观看| 欧美在线亚洲综合一区| 欧美福利专区| 日本在线视频一区二区| 欧美精品aa| 精品中国亚洲| 欧美日韩在线观看视频小说| 亚洲深爱激情| 国精品产品一区| 伊人久久亚洲影院| 日韩久久一区| 国内一区二区三区| 亚洲黄色影院| 国产精品久久国产愉拍| 成人羞羞视频播放网站| 一区二区国产在线观看| 国产精品美女久久久久久不卡| 成人福利视频| 婷婷精品在线| 国产色播av在线| 久久亚洲色图| 欧美成a人片免费观看久久五月天| 日本国产精品| 青青伊人久久| 亚洲视频综合| 国产私拍福利精品视频二区| 99久久亚洲精品蜜臀| 中文字幕日本一区二区| 精品久久免费| 蜜桃av一区二区| 国产资源在线观看入口av| 香蕉久久一区| 国产66精品| 日韩精品国产精品| 亚洲国产综合在线看不卡| 国产亚洲久久| 国产一级一区二区| 国产精品蜜芽在线观看| 日韩精品1区2区3区| 免费毛片在线不卡| 精品国产亚洲日本| 日本成人在线不卡视频| 美女少妇全过程你懂的久久| 国产精品中文| 亚洲精品精选| 中文精品视频| 久久国产电影| 国产精品成久久久久| 免费在线观看成人| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 亚洲精品极品少妇16p| 精品亚洲成人| 日韩精品高清不卡| 久久不射中文字幕| 久久精品不卡| 色婷婷精品视频| 福利一区和二区| 国产精品久久久久77777丨| 亚洲制服一区| 亚洲欧美日本日韩| 91精品99| 另类中文字幕国产精品| 国产成人精品亚洲线观看| 日韩免费精品| 精品丝袜在线| 日韩天堂在线| 9999国产精品| 91欧美国产| 国产精品国产一区| 精品国产不卡一区二区| 国产精品视频一区二区三区综合| 丝袜美腿一区二区三区| 亚洲精品91| 美女少妇全过程你懂的久久| 午夜精品成人av| 免费观看亚洲| 日韩电影免费网址| 国产日韩电影| 中文字幕在线高清| 97在线精品| 日韩国产欧美| 国产aⅴ精品一区二区四区| 久久久精品国产**网站| 国产精品**亚洲精品| 国产三级精品三级在线观看国产| 日韩毛片一区| 国产精品久久久久久久久久久久久久久 | 神马日本精品| 日本免费一区二区三区四区| 亚洲三级欧美| 999国产精品| 亚洲经典在线| 蜜桃视频在线观看一区| 中文字幕成人| 日韩avvvv在线播放| 日本色综合中文字幕| 国产欧美自拍一区| 国产一区二区三区黄网站| 日本韩国欧美超级黄在线观看| 欧美aa一级| 午夜久久影院| 少妇精品在线| 欧美激情在线精品一区二区三区| 精品日产乱码久久久久久仙踪林| 9999国产精品| 国产高清一区| 四虎在线精品| 成人在线超碰| 激情丁香综合| 亚洲精品在线国产| 免费在线亚洲欧美| 视频小说一区二区| 蜜乳av另类精品一区二区| 日产欧产美韩系列久久99| 欧美一级二级三级视频| 日本在线一区二区三区| 国产成人免费av一区二区午夜| 91精品精品| 日本国产一区| 高清av一区| 香蕉久久国产| 国产欧美一区二区三区国产幕精品| 日韩欧美三区| 亚洲成人va| 日韩精品免费视频一区二区三区| 国产成人免费精品| 亚洲作爱视频| 欧美一区精品| 日韩精品麻豆| 亚洲三级网站| 日本一区二区免费高清| 日韩午夜黄色| 里番精品3d一二三区| 亚洲夜间福利| 国产精品亲子伦av一区二区三区| 播放一区二区| 日本国产亚洲| 日本精品不卡| 国产免费av一区二区三区| 久久中文字幕av| 国产日产高清欧美一区二区三区| 国产99久久| 国产欧美日韩一级| aⅴ色国产欧美| 久草精品视频| 午夜精品影视国产一区在线麻豆| 岛国av在线播放| 欧美日韩亚洲三区| 国产亚洲毛片在线| 中文字幕在线视频久| 日韩av字幕| 日韩视频精品在线观看| 久久精品国产福利| 日本亚洲最大的色成网站www | 国产精品多人| 国产午夜久久| 日韩精品一区二区三区免费观看| 久久亚洲国产精品一区二区| 美女精品久久| 亚洲精品美女91| 999精品一区| 成人精品国产亚洲| 欧美在线看片| 亚洲开心激情| 国产一区亚洲| 欧美日韩在线观看首页| 国产精品一二| 日本欧美一区二区在线观看| 久久国产成人| 2023国产精品久久久精品双 | 国内精品美女在线观看| 亚洲va久久久噜噜噜久久| 日韩欧美另类一区二区| 欧美黄色一区二区| 国产美女亚洲精品7777| 日韩中文字幕1| 激情五月综合网| 亚洲精品乱码日韩| 亚洲在线久久| 日本 国产 欧美色综合| 亚洲激情国产| 欧美日韩日本国产亚洲在线| 亚洲夜间福利| 亚洲欧美伊人| 1024精品久久久久久久久| 91精品亚洲| 久久久久久久久久久妇女| 日韩欧美二区| 国产伊人久久| 成人三级高清视频在线看| 久久精品国产网站|