# QT-信號槽(點擊按鈕關閉窗口)
其實也就是mfc下的響應是一個意思
信號發送者 發送信號 信號接收者 處理信號
就是這樣一個流程
那么信號發送者可以是很多的情況這里舉例分析一個情況:
點擊按鈕實現關閉窗口:
信號發送者->按鈕
發送信號->點擊按鈕
信號接收者->窗口
處理信號—>關閉窗口
## 發送信號者
```
首先創建控件
QPushButton * btn = new QPushButton(this);
btn->setText("關閉窗口");
btn->move(300,300);
resize(600,600);
```
## 發送的信號
信號的單詞是signals
找到要傳遞的信號在什么位置,是什么東西
在QPushButton的父類中找到了clicked的信號
## 接受信號者
直接調用this指針好了
## 處理信號的槽函數
然后用connect函數來綁定處理。
槽函數的單詞是slots
```
connect(發送信息者,發送的信號,接受信號者,處理的槽函數)
```
```
connect(btn,&QPushButton::clicked,this,&QWidget::close);
```
## 信號槽的優點:
松散耦合:本來沒關聯的東西放在一起就連接在一起了