2016-04-25 40 views
0

QGroupBox具有信號clicked,它具有可選的checked參數。假設我試圖在某個類的內部連接一個插槽,如下所示:box.clicked.connect(self.func),因此插槽的聲明必須爲def func(self, checked),但func僅用一個參數調用。我如何獲得期望的func行爲與自我和可選的checked參數一起被調用?具有參數的PySide信號

回答

1

具有可選默認參數的信號行爲在PyQt和PySide中不同。在PyQt的,默認的參數是總是發送,但在PySide你必須明確地提出要求:

box.clicked[bool].connect(self.func) 

這是一個更好的設計選擇,我會說,因爲PyQt的行爲常常會導致錯誤如果您忘記了即使您沒有要求,也會發送默認值。明確優於暗示的情況...