栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Qt中父类向子类发送信号

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt中父类向子类发送信号

前言
在mylabel.h与widget.h中均有一个private型的变量isFull
想要在widget当前屏幕状态(是否全屏)改变后同步改变mylabel

思路:
C++是面向对象语言。为了类中成员变量的安全,一般使用定义接口的方式改变类中成员变量的值。

将当前的屏幕状态(是否全屏)发送给myLable,否则只能进行单方向的通信(双击需要点击两次)

因此可以

  1. 在widget.cpp中将当前改变后的信号发送出去
emit SignalReturnFullShow(isFull);
  1. 在myLabel.cpp中定义共有函数
void myLabel::setIsFull(bool ret)
{
    isFull=ret;
}
  1. 在widget.cpp初始化函数中绑定槽
//将当前窗口的状态信号返回myLabel
    connect(this,SIGNAL(SignalReturnFullShow(bool)),
    this,SLOT(doProcessReturnFullShow(bool)));

注意:第一个参数发送者是当前窗口

  1. 实现处理槽函数
void Widget::doProcessReturnFullShow(bool ret)
{
    //在子窗体中定义一个共有函数,设置子窗体中isFull的值
    lbl->setIsFull(ret);
    //lbl为myLabel的对象
}

此时便可实现父类向子类的函数传递

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949932.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号