美文网首页
QT 练习2:信号和槽

QT 练习2:信号和槽

作者: 孙掌门 | 来源:发表于2019-10-09 19:53 被阅读0次

    信号和槽

    
    // 写this,扔到对象树中,不用自己释放
        ter = new MyTeacher(this);
        st = new MyStudent(this);
        // 连接
        // 函数指针
        void (MyTeacher:: *teacherSignal)(QString) = &MyTeacher::hungry;
        void (MyStudent:: *studentSlot)(QString) = &MyStudent::eat;
        connect(ter,teacherSignal,st,studentSlot);
    //    wantToEat();
    
        QPushButton *btn = new QPushButton("吃饭",this);
        btn->setParent(this);
        // 信号连接信号
        void (MyTeacher:: *tHungry)(void) = &MyTeacher::hungry;
        void (MyStudent:: *sEat)(void) = &MyStudent::eat;
        // 按钮传递信号给老师,让老师发出饿的信号
        connect(btn,&QPushButton::clicked,ter,tHungry);
        // 老师发送饿的信号给学生,学生处理信号,槽
        connect(ter,tHungry,st,sEat);
        // 信号可以连接信号
        // 信号和槽可以断开
        // 一个信号可以出发多个槽函数
        // 多个信号可以连接同一个槽
        // 信号参数的个数可以多余槽的个数,但是类型必须一一对应,反之不可以。
    
    

    DEMO

    相关文章

      网友评论

          本文标题:QT 练习2:信号和槽

          本文链接:https://www.haomeiwen.com/subject/unibuctx.html