当前位置: 首页 > news >正文

网站开发公司徐州/产品推广计划

网站开发公司徐州,产品推广计划,开发公司支付前期物业开办费包括哪些内容,wordpress 显示不正常接上篇QT从入门到实战x篇_07_自定义信号及槽的重载(带参数的信号和槽的使用方法;将QString转换为Char*的结果)中介绍了自定义信号和槽函数的重载,本篇将会介绍信号连接信号以及断开连接的方法。 总结: 可以使用信号连…

接上篇QT从入门到实战x篇_07_自定义信号及槽的重载(带参数的信号和槽的使用方法;将QString转换为Char*的结果)中介绍了自定义信号和槽函数的重载,本篇将会介绍信号连接信号以及断开连接的方法。

总结:

  1. 可以使用信号连接信号的方式触发槽函数;
  2. 使用disconnect(...)就可以实现已连接信号和槽的断开。

前面几篇中程序一旦运行就会触发下课并发送信号,现在将需求进行更改,在点击一个按钮之后再触发下课

widget.cpp中内容如下:

#include "widget.h"
#include "ui_widget.h"
#include "teacher.h"
#include "student.h"
#include <QPushButton>//Teacher类 老师类
//Student类 学生类
//场景:下课后 老师触发信号 饿了 学生响应信号 请客吃饭Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建老师对象zt=new Teacher(this); //this用来指定父亲的对象//创建学生对象st=new Student(this);//老师饿了 学生请客连接
//    connect(zt,&Teacher::hungry,st,&Student::treat);//函数指针指向函数地址void(Teacher::*teacherSignal)(QString)=&Teacher::hungry;void(Student::*studentSlot)(QString)=&Student::treat;connect(zt,teacherSignal,st,studentSlot);//调用下课函数classIsOver();//点击一个下课的按钮再触发下课QPushButton* btn=new QPushButton("xiake",this);//重置窗口大小this->resize(600,400);connect(btn,&QPushButton::clicked,this,&Widget::classIsOver);
}Widget::~Widget()
{delete ui;
}void Widget::classIsOver()
{//下课函数 调用后 触发老师饿了的信号emit zt->hungry(QString::fromLocal8Bit("宫保鸡丁"));
}

运行结果:点击“xiake”就会输出“下课了,老师要吃 宫保鸡丁”
在这里插入图片描述
上述的过程还是采用信号调用槽函数的方式。

1. 信号连接信号


下面代码使用无参槽函数并将按钮点击信号与另一个信号连接,从而实现“请老师吃饭的槽函数”

    //无参信号和槽连接void(Teacher::*teacherSignal2)(void)=&Teacher::hungry;void(Student::*studentSlot2)(void)=&Student::treat;connect(zt,teacherSignal2,st,studentSlot2);//信号连接信号connect(btn,&QPushButton::clicked,zt,teacherSignal2);

运行结果:调用了另一个信号对应的槽函数
在这里插入图片描述

  • 信号连接信号的逻辑关系如下:
    在这里插入图片描述

2. 断开信号和槽连接


使用disconnect(...)就可以实现已连接信号和槽的断开。

    //无参信号和槽连接void(Teacher::*teacherSignal2)(void)=&Teacher::hungry;void(Student::*studentSlot2)(void)=&Student::treat;connect(zt,teacherSignal2,st,studentSlot2);//信号连接信号connect(btn,&QPushButton::clicked,zt,teacherSignal2);//信号断开disconnect(zt,teacherSignal2,st,studentSlot2);

运行结果:因为zt的信号与st的连接断开了,因此点击按钮不会有任何输出

3. 学习视频地址:QT从入门到实战x篇_08_信号连接信号

http://www.jmfq.cn/news/4918951.html

相关文章:

  • 南京网站设计制作/常见的网络推广方法有哪些
  • 网站布局策划/怎么做游戏推广员
  • 利用网盘做视频网站/山西网络推广
  • 常用软件开发模型/seo关键词排名优化品牌
  • wordpress汽车模板下载/seo推广人员
  • 动易网站怎么进入后台/市场营销十大经典案例
  • 申请网站步骤/深圳seo博客
  • 做庭院的网站/百度知道app官方下载
  • vps自带ie浏览器不能访问网站/公司网站建设哪家公司好
  • 新网站如何做sem/成功的品牌推广案例分析
  • 网站开发css框架/汕头seo排名公司
  • 怎么搞免费的网站/企业网站定制
  • 高级又小众的公众号/企业网站优化推广
  • 网站快速优化排名/品牌seo推广
  • 给网站做镜像/广州:推动优化防控措施落
  • asp网站 被插入/国际域名注册网站
  • 深圳住房和建设管理局官方网站/搜索关键词推荐
  • 用php做购物网站视频/百度推广话术全流程
  • 书画网站模板/黑帽seo之搜索引擎
  • 做网站购买服务器多少钱/互联网营销师考试
  • 怎么用网站推广/成都做网络推广的公司有哪些
  • 个人做外贸网站违法吗/站长网
  • 吴川网站建设公司/互联网营销培训
  • 如何做网站链接/重庆网站seo技术
  • 小程序排名三大公司/沈阳关键词优化报价
  • h5 小米网站模板/浏览器里面信息是真是假
  • 网站建设都需学哪些/竞价外包推广专业公司
  • 网站怎么做伪静态/小程序开发费用一览表
  • 做网站需要合同吗/网络营销策略的定义
  • 房地产建设企业网站/品牌运营总监