向PySide PyQt的slot中傳遞額外引數

2021-09-08 00:11:54 字數 692 閱讀 5112

常見的乙個問題就是如何向pyside/pyqt的slot中傳遞額外的引數。slot的機理就是將signal和slot建立關聯,signal的引數能夠傳遞到slot中,但額外的引數(使用者自定義的)並不能直接傳遞進去。

但現實中傳遞使用者自定義的引數還是很有意義的,這樣一來使用者就可以定義乙個slot來處理多個signals,只是通過引數來區分即可。

如果實現呢?

乙個簡單的方法就是借助於lambda,下面是乙個簡單的例子:

self.configinqact = qtgui.qaction("

inquiry

", self)

self.configinqact.setstatustip("

inquiry all the config files

")self.configinqact.triggered.connect(lambda:self.process_config("

010010

", ""))

def process_config(self, tran_code, data):

self.statusbar().showmessage("

tran_code = %s, data = %s

" %(tran_code, data))

當然也可通過過載來實現,具體可以參閱

參考資料:

如何使用好pyqt的signal和slot

如果你是使用pyqt 4.5之後的版本,除了傳統的signal slot的連線方式外,你還多了一種比較符合python樣式的寫法。這種寫法是透過下面兩種新的pyqt物件來達成 正如其名,pyqtsingal是用來定義signal,而 pyqtslot 則是用於slot。首先,我們來了解如何利用pyq...

向老闆匯報的內容和向老闆匯報的套路

一 如果你需要向領導匯報工作,那麼如何思考?1,我的工作在團隊中是什麼樣的地位?2,我的工作都有什麼樣的工作成果?3,我的工作目前還有那些待改進的地方?領導聽取工作匯報,一般比較關注你工作的內容,成果等,突出以上三點就能夠快速的給對方講解清楚了你工作的中心思想.二 如何向老闆匯報為什麼要做專案的套路...

類的前向宣告

在我們看一些c 標頭檔案的時候,經常可以看到某些類的宣告但卻找不到定義。如 class abc 僅僅宣告,沒有定義 通常後面還會有定義指向這個型別的指標或引用,如 abc pointer abc pointer 這種形式稱之為類的前向宣告 引用。在宣告之後,定義之前,類abc是乙個不完全型別 inc...