PySide2 connect 時指定槽函數的參數

當點擊按鈕時,執行槽函數,一般寫法爲:
self.ui.wind_bread.triggered.connect(self.controller.wind_bread)
其中 self.controller.wind_bread 是槽函數。

但是,如果需要給槽函數傳參怎麼辦?就比如下面,槽函數需要一個參數:append_info。動作觸發時,該怎麼傳遞參數給槽函數呢?

def wind_bread(self, append_info):
    if self.dataCollectorModel.wind_bread():
        append_info("一鍵防風成功")
    else:
        append_info("一鍵防風失敗,請重試", "red")

使用 partial 函數,即可傳遞參數給槽函數。
self.ui.wind_bread.triggered.connect(partial(self.controller.wind_bread, self.append_info))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章