student.h

#ifndef STUDENT_H
#define STUDENT_H#include <QObject>class Student : public QObject
{Q_OBJECT
public:explicit Student(QObject *parent = nullptr);//槽函数可以写到public下//返回值是void,需要声明,也需要实现//可以有参数,可以发生重载void treat();signals:};#endif // STUDENT_H

student.cpp

#include "student.h"
#include <QDebug>Student::Student(QObject *parent) : QObject(parent)
{}void Student::treat()
{qDebug() << "请老师吃饭";
}

teacher.h

#ifndef TEACHER_H
#define TEACHER_H#include <QObject>class Teacher : public QObject
{Q_OBJECT
public:explicit Teacher(QObject *parent = nullptr);signals://自定义信号写到signals下//返回值是void,只需要声明,不需要实现//可以有参数,可以重载void hungry();};#endif // TEACHER_H

teacher.cpp

#include "teacher.h"Teacher::Teacher(QObject *parent) : QObject(parent)
{}

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include "teacher.h"
#include "student.h"QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;Teacher * teacher1;Student * student1;void classIsOver();
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"//Teacher 老师类
//Student 学生类
//下课后,老师会触发信号,饿了,学生响应信号,请客吃饭Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建一个老师对象this->teacher1 = new Teacher(this);//创建一个学生对象this->student1 = new Student(this);//老师饿了,学生请客的连接connect(teacher1, &Teacher::hungry, student1, &Student::treat);//调用下课函数classIsOver();}void Widget::classIsOver()
{//下课函数,调用触发老师饿了的信号emit teacher1->hungry();
}Widget::~Widget()
{delete ui;
}

Qt——P10 自定义的信号和槽相关推荐

  1. Qt——P11 自定义的信号和槽发生重载的解决

    student.h #ifndef TEACHER_H #define TEACHER_H#include <QObject>class Teacher : public QObject ...

  2. Qt编程中的信号和槽机制

    Qt编程中的信号和槽机制 在使用自定义类创建一个按钮之后,只能看到一个按钮的图形,但是使用鼠标点击并无任何反应,下面想要实现一个"点击按钮可以关闭窗口"的功能. 关闭窗口的功能可以 ...

  3. Python Qt GUI设计:信号与槽的使用方法(基础篇—7)

    目录 1.信号与槽的概念 2.信号与槽的基础函数 2.1.创建信号函数 2.2.连接信号函数 2.3.断开信号函数 2.4.发射信号函数 3.信号和槽的使用方法 3.1.内置信号与槽的使用 3.2.自 ...

  4. QT对象树、信号和槽机制

    文章目录 一 .对象树是什么? 二.信号和槽的基本概念 2.1 信号 2.2 槽 2.3 松散耦合 2.4 特点 三.示例 总结 一 .对象树是什么? 对象树是由父类和若干子类对象组成,而子类也可以由 ...

  5. Qt线程间通信-信号与槽通信

    线程间通信: 1.自定义事件:postEvent(): 2.信号与槽[本质也是通过自定义事件实现的] 注意:每个线程都有自己的事件循环 下面先说明下信号与槽的通信: 下面这个程序的运行截图 模拟下载! ...

  6. [QT]2022.4.30 信号和槽的小玩意儿

    目录 前言: 信号和槽的自定义 关于自定义信号 自定义信号和槽的重载 信号和信号的连接 拓展 信号槽中的lamba表达式 总结 前言: 提到信号和槽(Signal & Slot),首先我们来看 ...

  7. Qt多线程中的信号与槽

    文章目录 1 多线程中的信号与槽 2 对象的依附性 2.1 对象的依附性 2.2 开启线程事件循环 2.3 线程事件循环的结束 2.4 设计实例 3 信号与槽的连接方式 3.1 Qt::DirectC ...

  8. Qt修炼手册4_信号与槽

    1.前言 为了处理个体间的通信事件,Qt提供了信号与槽.信号与槽不仅可以处理GUI上发生的事件,也可以实现个体间的数据通信.值得深入把握. 2.信号与槽 信号与槽是一种用于对象间通信的机制.为了用户在 ...

  9. Qt工作笔记-使用信号与槽让两个界面进行数据通信

    今天在项目中,发现有一个十分重要的功能,就是2个界面进行数据通信. 记得1年多前,刚刚学习Qt,对这个无法理解,然后经过一年多的学习和理解,在此把自己学习的感悟和知识在此总结下. 下面是使用emit ...

最新文章

  1. 完美解决ie8以下不兼容h5的方法
  2. ubuntu nano用法
  3. SUID SGID LINUX 权限安全设置
  4. 双链表的基本操作---插入,删除,交,并,相邻元素的交换,不相邻元素的交换...
  5. 工作128:element上传组件时候的钩子--event里面有数据参数
  6. java equ,Java equals方法详解
  7. Recbole自定义训练集、验证集和测试集推荐
  8. python物理模拟_在Python游戏中模拟重力【Programming(Python)】
  9. 毕业生共享屏幕3小时 被骗70万
  10. Android 意图和意图过滤器(二)
  11. Linux下的段错误产生的原因及调试方法-转
  12. Akari谜题(关灯问题)的开灯解法
  13. windows下mysql-8.0.11的安装
  14. Codeforces Round #484 (Div. 2) D. Shark
  15. c语言二级题库中会有错题吗,二级C语言题库-改错题
  16. 十进制转格雷码 c语言,C语言输出格雷码
  17. HashMap源码分析与实现
  18. gmap 支持python吗_在gmap中使用bokeh的python为for circle添加工具提示
  19. COMSOL电化学专题培训通知
  20. Flowable Modeler

热门文章

  1. jpa jql 时间范围查询_SpringBoot整合JPA案例
  2. freenas共享指定网络密码不正确_CentOS 设置服务器文件共享
  3. 第三方服务-阿里云视频点播服务java服务端SDK相关代码
  4. Sqlite3 数据库基本操作
  5. 贝叶斯算法伪代码_字节跳动算法面经
  6. mybatis 数组 添加_Mybatis配置文件中Insert 元素标签添加配置有哪些呢?
  7. iphone登录不了媒体服务_ios快捷指令一键登录校园网(桂航为例,哆点认证)
  8. 向量范数证明例题_第八课:向量的范数
  9. 电脑桌面打开计算机后出现两部分,为什么当打开电脑时,桌面会出现两个我的文档的窗口,是不是中病毒了,怎么处理啊...
  10. 做系统ghost步骤图解_u盘装系统步骤