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

在哪个网站做推广比较好自己怎么做游戏推广赚钱

在哪个网站做推广比较好,自己怎么做游戏推广赚钱,网站建设公司广告标题语,网站设计网站设计公司价格在QT中最重要也是必须要掌握的机制,就是信号与槽机制,在MFC上也就是类型的机制就是消息与响应函数机制 在QT中我们不仅要学会如何使用信号与槽机制,还要会自定义信号与槽函数,要自定义的原因是系统提供的信号,在一些情…

在QT中最重要也是必须要掌握的机制,就是信号与槽机制,在MFC上也就是类型的机制就是消息与响应函数机制

在QT中我们不仅要学会如何使用信号与槽机制,还要会自定义信号与槽函数,要自定义的原因是系统提供的信号,在一些情况下是不能完全满足我们的需求的所以就需要我们去自定义信号和槽函数,QT为我们很好的屏蔽了信号是如何找到对应槽函数的底层原理,我们只需要注册和发射信号即可

并且信号与槽更方便的地方在于,这两个东西可以不是同一个对话框的,也就是说这个对话框中发出的信号,它的响应可以在别的对话框中

并且信号与槽可以是多对多的,意思就是一个信号可以关联多个槽函数,一个槽函数也可以被多个信号关联

实现

接下来我们就正式介绍自定义信号与槽的方式,以及这里面的一些坑(亲身经历)

需要注意的是,如果要使用信号和槽就需要在类中添加Q_OBJECT没有这个信号和槽是不能用的

自定义信号和槽函数的流程

声明信号

信号的声明,需要在signals属性下面,信号和槽函数都必须是无返回值的,可以带参数

例如我们在AddressInfo对话框类中声明一个地址更新的信号代码

class LocalAddressInfo : public QWidget
{Q_OBJECT
signals: // 信号void UpdateAddr(bool BChanged);
}

声明并实现槽函数

槽函数的声明需要在slots属性下面,槽函数要是无返回值的,可以有形参

例如我们在主对话框中声明并实现地址更新的响应槽函数

class Widget : public QWidget
{Q_OBJECT
private slots: // 槽函数// 用户改变客户端的IP地址信息void UpdateAddr(bool BChanged);
}

注意槽函数是需要实现函数体的

void Widget::UpdateAddr(bool BChanged)
{qDebug() << "接收到了信号 BChanged=" << BChanged;if(BChanged){m_isAddrUpdate = true;// IP地址发生改变m_addr = m_AddrInfo.GetIP();m_port = m_AddrInfo.GetPort();InitSocket();m_isAddrUpdate = false;}m_AddrInfo.hide();
}

将信号和指定槽函数进行关联

信号与槽函数的关联需要用到connect函数

connect函数声明

inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal, const char *amember, Qt::ConnectionType atype);
// asender  信号发送者,所在类的地址
// asignal  发射的信号,该参数可以是信号的地址,也可以是使用SIGNAL()宏指定的信号
// amember  信号响应者槽函数所在的类
// atype    槽函数,该参数可以是槽函数的地址,也可以是使用SLOT()宏指定的槽函数

根据上面我们对connect函数的介绍,信号和槽函数关联的方式有两种

第一种是使用宏来指定信号和槽函数

// 注册信号与槽
connect(&m_AddrInfo, SIGNAL(UpdateAddr(bool)), this, SLOT(UpdateAddr(bool)));

这里需要注意,如果使用宏来定义信号和槽函数就不要在信号和槽函数上面加上作用域了,意思就是不要SIGNAL(LocalAddressInfo::UpdateAddr(bool))这么写!!!如果这么写注册的信号是不好使的

第二种是使用信号和槽函数的地址

// 注册信号与槽
connect(&m_AddrInfo, &LocalAddressInfo::UpdateAddr, this, &Widget::UpdateAddr);

发射信号

发射信号需要使用emit,加上信号,如果信号有参数的话需要带上参数值,如何槽函数的参数有默认参数的话可以不需要带上参数值

例如发射地址信息改变信号

emit UpdateAddr(true);

上面就是整个自定义信号与槽的实现及其使用的讲解

下面我们来扩展一下,信号与槽的一些相关的函数,disconnect()函数用来解除信号与槽的关联、sender()函数用来获取信号的发射者。这里我们就不详细介绍了,大家可以自行了解

到这里QT如何自定义信号和槽就介绍完了

感谢观看学习,大佬们多多指点,愿明天的自己会感谢当下的努力!!!!

http://www.wangmingla.cn/news/36088.html

相关文章:

  • 网站关键词提交电子商务平台有哪些
  • 南京 网站建设百度免费优化
  • wordpress 多层目录邯郸seo推广
  • 网站架设 数据库选用天津百度关键词排名
  • 扬州做网站的公司网络营销是什么
  • 网站开发工程师 下载google关键词推广
  • 网站制作和优化百度指数查询移动版
  • 高端网站建设报价怎么自己做一个网页
  • 做聚划算网站夸克搜索引擎入口
  • 网站开发研发工程师岗位职责seo推广软件排名
  • 免费做网站手机点石关键词排名优化软件
  • 买域名建网站南昌seo排名优化
  • 饰品设计网站推荐seo百科大全
  • 公司网站做优化少钱站长之家查询网站
  • 图片做动画网站互联网推广的优势
  • 诸城网站建设定制微信最好用的营销软件
  • 网站建设实训实操心得百度seo关键词
  • 镜像网站怎么做排名店铺推广软文500字
  • vs做网站怎么放视频市场调研报告范文3000字
  • 网站推广做哪个比较好网站策划书
  • 网上做公益的网站google本地搜索
  • 深圳 网站制作上海网站快速排名优化
  • 电脑自助建站培训
  • wordpress引用b站视频seo实战视频
  • 怎么做网站 先简单的聊一下杭州优化公司在线留言
  • 网站推广在哪些平台做外链拼多多跨境电商平台
  • 一级a做爰片迅雷网站网络搭建的基本流程
  • 城乡建设网站职业查询系统危机公关处理
  • wordpress谷歌广告不显示不出来seo思维
  • wordpress多站点 文章导入今天最新疫情情况