三、信号和槽
1、信号与槽
一个发送者,一个接受者,发送者发送一个消息出来,接受者接受消息,然后处理消息做应该做的事情(发送者就相当于信号,接受者就相当于槽)
2、自动关联信号与槽
1、在创建的项目中拖入一个push button,右键这个按钮
2、选择转到槽
3、选择信号
4、选择信号之后,自动生成了对应的槽函数
3、手动关联信号和槽
- 先把控件配置好
- 再实现一个槽
//槽的声明
private slots:
void mySlot();
//槽的实现,以及槽对应的功能
void Widget::mySlot()
{
static int value=1;
ui->lcdNumber->display(value);
value++;
}
- 声明一个信号
signals://信号是不用实现的
void mySignal();
- 发送信号
//发送信号写在另一个槽中
emit mySignal();
- 再在类中写上关联
//自定义信号和槽的关联
connect(this, //谁发的信号
SIGNAL(mySignal()),//发的什么信号
this, //谁接收
SLOT(mySlot())//对应的槽函数
);
4、用F4关联信号和槽
直接按F4进入,然后直接通过鼠标点击拖动实现
1、设置按钮
2、按下f4
3、选择两个对应的按钮
4、选择信号
1、
4、
这样两个就关联好了,最终实现的效果就是拖动右边的按钮,左边的按钮也跟着旋转。