#include "widget.h" Widget::Widget(QWidget *parent) : QWidget(parent) { this->zt=new Teacher(this); this->st=new Student(this); // connect(zt,&Teacher::hungry,st,&Student::treat); void(Teacher:: *tSignal)(QString)=&Teacher::hungry; void(Student:: *sSlot)(Qstring)=&Student::treat; connect(zt,tSignal,st,sSlot); classIsOver(); } void Widget::classIsOver(){ zt->hungry("apple"); } Widget::~Widget() { }
时间: 2024-04-01 12:32:30 浏览: 116
kf5-libksane-qwidget
这段代码是关于Qt中信号与槽机制的实现,其中Teacher类和Student类都是继承自QWidget类的。在Widget类的构造函数中,创建了一个zt指针指向Teacher类的对象,和一个st指针指向Student类的对象。通过connect函数将zt对象的hungry信号与st对象的treat槽进行关联,这样当zt对象发出hungry信号时,st对象的treat槽函数就会被自动调用。最后调用classIsOver函数来触发zt对象的hungry信号。这段代码的作用是模拟一个教师和学生之间的交互过程,当教师饿了需要食物时,学生就会给他提供食物。
阅读全文