信號與槽快速進(jìn)階
對于新手來說,在學(xué)習(xí)信號與槽的過程中必須面對兩個(gè)問題:第一個(gè)是PyQt默認(rèn)有哪些信號與槽:第二個(gè)是如何使用這些信號與槽。
對于第一個(gè)問題,可以通過圖所示的方法來獲取默認(rèn)可用的信號與槽的列表。

但是使用這種方法有一個(gè)缺點(diǎn),如果發(fā)現(xiàn)信號與槽連接錯(cuò)誤,使用這種方法進(jìn)行手工調(diào)整容易出現(xiàn)失誤。更簡單的方法是使用右下側(cè)的信號與槽編輯窗口來進(jìn)行調(diào)整,如圖所示。

本例涉及的文件包括MainWinSignalSlog03.ui、MainWinSignalSlog03.py和CallMainWinSignalSlog03.py。運(yùn)行 CallMain WinSignalSlog03.py,結(jié)果如圖所示。

單擊兩次“選擇”,結(jié)果如圖所示。

涉及的代碼如下,表示當(dāng)checkBox選擇為真時(shí),發(fā)射的信號會設(shè)置label.setVisible和 lineEdit.setEnable為 True,反之亦反。
對于第二個(gè)問題,最簡單的方法就是把含有信號與槽的.ui文件編譯成.py文件,然后在.py文件中找出相應(yīng)信號與槽的使用方法。掌握這種方法的讀者,就可以解決實(shí)際中遇到的絕大多數(shù)業(yè)務(wù)邏輯問題了。
PyQt的信號與槽機(jī)制是其核心內(nèi)容,后面我還會詳細(xì)介紹這部分知識點(diǎn)。
標(biāo)簽: