一、什么是信號什么是槽
信號和槽是QT的核心機制。
1.信號
信號,是由對象或空間發出去的消息。例如單擊按鈕控件。
信號可以理解為觸發的事件。
2.槽
發送出去的信號需要有一段代碼來攔截,並執行一些操作,這些代碼就是槽,槽本質上是一個函數或方法。
槽可以理解為處理事件的事件函數。
二、如何關聯信號和槽
1.關聯按鈕點擊和窗口關閉
這里我們使用QTDesigner來關聯一個按鈕的點擊信號和窗口的關閉動作。
首先,在選擇Edit-->編輯信號/槽:
確定后,可以看到:
這就表示pushButton的Clicked時間和窗口的close方法關聯起來了。注意,這里的close方法是從QWidget類中繼承下來的。當然我們也可以自己定義一些槽函數進行關聯。
2.使用checkbox控制label的顯示
我們使用顯示/不顯示checkbox來控制Hello是否顯示(默認顯示),用可用/不可用checkbox來控制Text Edit控件是否可以編輯(默認不可編輯)。
使用信號/槽進行關聯:
在預覽中,我們可以觀察效果:
===