一、 坐标系
左上角为(0,0)点;x以右为正方向,y以下为正方向
二、信号和槽(简单案例:点击按钮关闭窗口)
1.介绍
connect(信号的发送者,发送的具体信号,信号的接受者,信号的处理(槽))
信号槽优点:松散耦合
信号发送端和接收端无关联,通过connect将两端耦合在一起
2.connect函数
连接函数: connect(参数1,参数2,参数3,参数4);
参数1:信号的发送者
参数2:发送的信号(函数地址)
参数3:信号的接受者
参数4:处理的槽函数(函数地址)
3. 案例:点击按钮关闭窗口
coonect(mybutton,&QPushButton::click,this,&QWidget::close); //父类名
coonect(mybutton,&mypushbutton::click,this,&Widget::close); //自己定义的类名
三、自定义的信号和槽
ps: qDebug() 类似于 cout,打印信息
#include<QDebug>
qDebug()<<"hello world!"<<endl;
1. 自定义信号
- 写到signals下
- 返回值:void
- 需要在信号发送者.h文件中声明,不需要在.cpp中实现
- 可以有参,可以重载
2.自定义槽函数
- 写到public slot下
- 返回值:void
- 需要在信号接收者.h文件中声明,也需要在.cpp中实现
- 可以有参,可以重载
3.案例
下课后老师触发信号,学生响应信号,请老师吃饭
信号触发者:老师
触发信号:饿了
信号接受者:学生
处理的槽函数:请客吃饭
注意:调用的顺序很重要
- 首先建立老师饿了学生请老师吃饭的连接
- 调用下课函数,老师出发信号
顺序很重要!!!