目录
1.引入
实现:点击一个下课的按钮,再触发下课
1.1添加一个QPushButton的头文件
1.2创建一个“下课”的按钮
//点击一个下课的按钮,再触发下课
QPushButton * btn=new QPushButton("下课",this);
1.3绑定连接
因为添加了按钮,窗口可能会缩小,所以我们可以手动设置窗口大小
1.4运行结果
点击一次就会出现
2.实现
思考:可不可以不要下课这个函数,而是直接用信号连接信号呢
尝试用无参的hungry和treat,用函数指针来代替他们的地址
void(Teacher::*teacherSignal2)(void)=&Teacher::hungry;
void(Student::*studentSlot2)(void)=&Student::treat;
connect(zt,teacherSignal2,st,studentSlot2);
再写一个信号连接信号的
//信号连接信号
connect(btn,&QPushButton::clicked,zt,teacherSignal2);
运行结果
说明:
connect(btn,&QPushButton::clicked,zt,teacherSignal2);这一行代码是将按钮点击信号和老师饿了信号连接起来,而connect(zt,teacherSignal2,st,studentSlot2);这一行代码是将老师饿了的信号和学生请客这个槽函数连接起来
3.断开信号
使用disconnect()函数,参数和connect中的参数一样,断开哪一部分就填哪一部分的连接参数。
再点击就不会出现请老师吃饭。