# 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);
```
## 信号槽的优点:
松散耦合:本来没关联的东西放在一起就连接在一起了