PyQt(Python+Qt)學習隨筆:調用disconnect進行信號連接斷開時的信號簽名與斷開參數的匹配要求


在使用信號調用disconnect()方法斷開信號和槽的連接時,信號可以帶簽名也可不帶簽名,參數可以沒有也可以有一個,這些組合情況下disconnect的處理是不同的,具體情況如下:

  1. PyQt5.14的官網上介紹說如果參數為空,表示信號連接的所有槽都會斷開,這句話是有歧義的,只是斷開所有與信號簽名匹配的槽,如果調用時信號不帶簽名,則默認斷開第一個簽名對應的所有槽;
  2. 如果斷開時信號帶簽名,參數為槽函數,但二者不匹配時則會引發異常;
  3. 如果斷開時信號帶簽名,參數為connection對象,斷開的是與簽名匹配的連接信號和槽,不按參數進行連接斷開;
  4. 如果斷開時信號不帶簽名,參數為connection對象,則按connection對象斷開連接。

老猿Python,跟老猿學Python!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM