1、簡介
自定義的訊號 ,傳遞不同的引數
2、功能實現
# -*- coding: utf-8 -*-
""" 【簡介】
內建訊號槽訊號槽示例
"""from pyqt5.qtcore import qobject , pyqtsignal
class custsignal(qobject):
# 宣告乙個無引數的訊號
signal1 = pyqtsignal()
# 宣告帶乙個int型別引數的訊號
signal2 = pyqtsignal(int)
# 宣告帶乙個int和str型別引數的訊號
signal3 = pyqtsignal(int,str)
# 宣告帶乙個列表型別引數的訊號
signal4 = pyqtsignal(list)
# 宣告帶乙個字典型別引數的訊號
signal5 = pyqtsignal(dict)
# 宣告乙個多過載版本的訊號,包括了乙個帶int和str型別引數的訊號或著帶str引數的訊號
signal6 = pyqtsignal([int,str], [str])
def __init__(self,parent=none):
super(custsignal,self).__init__(parent)
# 訊號連線到指定槽
self.signal1.connect(self.signalcall1)
self.signal2.connect(self.signalcall2)
self.signal3.connect(self.signalcall3)
self.signal4.connect(self.signalcall4)
self.signal5.connect(self.signalcall5)
self.signal6[int,str].connect(self.signalcall6) # 過載傳遞不同引數 ,int str
self.signal6[str].connect(self.signalcall6overload) # str
# 訊號發射
self.signal1.emit()
self.signal2.emit(1)
self.signal3.emit(1,"text")
self.signal4.emit([1,2,3,4])
self.signal5.emit()
self.signal6[int,str].emit(1,"text")
self.signal6[str].emit("text")
def signalcall1(self): # 無參函式
print("signal1 emit")
def signalcall2(self,val): # int 型引數
print("signal2 emit,value:",val)
def signalcall3(self,val,text): # int str 引數
print("signal3 emit,value:",val,text)
def signalcall4(self,val): # 列表 引數
print("signal4 emit,value:",val)
def signalcall5(self,val): #字典引數
print("signal5 emit,value:",val)
def signalcall6(self,val,text): # 過載的 int str
print("signal6 emit,value:",val,text)
def signalcall6overload(self,val): # 過載的 str
檔案參考:
pyqt 快速開發與實踐
本人鄭重宣告,本部落格所著文章、版權歸權利人持有,本博只做學習交流分享所用,不做任何商業用途。訪問者可將本博提供的內容或服務用於個人學習、研究或欣賞,不得用於商業使用。同時,訪問者應遵守著作權法及其他相關法律的規定,不得侵犯相關權利人的合法權利;如果用於商業用途,須徵得相關權利人的書面授權。若以上文章、的原作者不願意在此展示內容,請及時通知在下,將及時予以刪除
PyQt5 自定義訊號槽函式
1 簡介 自定義訊號槽函式,當訊號傳送的時候,可以呼叫被繫結的槽函式 2 功能實現 coding utf 8 簡介 內建訊號槽示例 from pyqt5.qtcore import qobject,pyqtsignal 訊號物件 class qtypesignal qobject 定義乙個訊號 se...
pyqt5 自定義訊號與槽
coding utf 8 from pyqt5.qt import a 0class window qwidget 宣告無引數的訊號 signal1 pyqtsignal 宣告帶乙個int型別引數的訊號 signal2 pyqtsignal int 宣告帶int和str型別引數的訊號 signal3...
Pyqt5槽函式傳參
qt中訊號發出的引數個數必須大於等於槽函式的引數個數,pyqt使用自定義引數傳遞解決槽函式引數比訊號引數多的問題。使用lambda表示式或functools的partial函式可以傳遞自定義引數給槽函式,自定義引數型別可以是python任意型別。import sys from functools i...