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

南通网站建设协议营销推广策划

南通网站建设协议,营销推广策划,网站开发框架排行,wordpress 添加目录本篇主要从Qt信号槽的连接、断开、调用、对象释放等方面展开; 1.信号建立连接过程 connect有多个重载函数,主要是为了方便使用者,比较常用的有2种方式: a. QObject::connect(&timer, &QTimer::timeout, &loop, &am…

本篇主要从Qt信号槽的连接、断开、调用、对象释放等方面展开;

1.信号建立连接过程

connect有多个重载函数,主要是为了方便使用者,比较常用的有2种方式:

a. QObject::connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit);

b. QObject::connect(&timer, SIGNAL(timeout()), &loop, SLOT(quit()));

 a方式对应的源码如下:

 

 

SIGNAL、SLOT对应的宏定义:

所以以上代码展开后为:QObject::connect(&timer, "2timeout()", &loop, "1quit()");

此函数除了此部分外,其他均是根据函数参数查找到信号、槽在sender、receiver的QMetaObject中的偏移量,特别需要注意的地方是链接参数使用Qt::QueuedConnection时,会检测参数对应的类型:

 queuedConnectionTypes函数源码如下:

 当时用自定义类型时,除了需要使用Q_DECLARE_METATYPE及qRegisterMetaType外,还需而外注意传参类型的完全匹配,即如果参数类型const Custom &时,qRegisterMetaType则对应为:qRegisterMetaType<const Custom &>(),主要原因是按照字符串进行匹配,否则会打印Cannot queue arguments of type ‘xxx’,Make sure ‘xxx’ is registered using qRegisterMetaType警告。

接下来主要看一下QMetaObjectPrivate::connect函数;

 其信号与槽主要是通过QObjectPrivate::Connection结构进行存储,其对应的源码如下:

 

 而外需要注意的是以上标记红色框的部分:

其信号和槽的连接过程对应3个链表:

1、QObjectConnectionListVector *connectionLists顺序列表管理每一个信号对应的Connection对象

2、Connection *nextConnectionList管理每一个信号对应的多个接收者,即一个信号可以绑定多个对象

3、Connection *senders和Connection *next,Connection **prev用来管理每一个信号对应的多个发送对象,即一个类有多个对象,每个对象都有可能发送此信号

 基本上链表关系如上所示,其addConnection的过程就是建立3个链表之间的关系,如果连接类型是Qt::UniqueConnection,则指挥建立一次连接

 此函数剩余部分为构建Connection对象,并使用q指针,建立链表连接

 

 QObjectConnectionListVector对象会根据信号在对象中的绝对偏移量动态扩展其大小,即申请顺序链表;

每次建立连接过程,会检测下链表,确认是否需要清除接收对象为空的对象;

connectedsignals采用了简单算法记录其信号是否建立连接;

2.信号断开过程:

其主要是通过disconnectHelper函数来断开连接

其主要是将receiver指针更改为空指针,并修改senders链表;

3、调用过程

 

 

http://www.hkea.cn/news/40920/

相关文章:

  • 园林绿化网站建设百度关键词优化公司
  • 个人如何建设网站网络营销方式有哪些分类
  • 北京做百度网站建设电商平台如何推广运营
  • 电脑个人网站怎么做网络销售新手入门
  • 海口网站建设 小黄网络手机百度搜索
  • 太原百度网站建设网站应该如何进行优化
  • 烟台市做网站uc浏览网页版进入
  • 工程信息网站哪家做的较好提高工作效率心得体会
  • 建站平台入口徐州网站设计
  • 出口手工艺品网站建设方案站长统计app下载
  • 提升学历骗局武汉搜索引擎排名优化
  • wordpress+park主题上海全国关键词排名优化
  • 潍坊最早做网站的公司短链接生成网址
  • 东莞化工网站建设爱站网ip反域名查询
  • 做网站赚钱 2017哈尔滨关键词排名工具
  • 建设的网站首页微信怎么做推广
  • 建设网站导航百度信息流推广和搜索推广
  • 深圳室内设计公司招聘信息流广告优化
  • 旅游网站首页四种营销模式
  • 负责网站建设如何在百度发广告推广
  • 联通的网站是谁做的营销的主要目的有哪些
  • 衡阳微信网站地推的方法和技巧
  • 南阳做网站公司哪家好自动发外链工具
  • 潍坊网站制作最低价格网络营销案例有哪些
  • 做网站有谁做谷歌seo视频教程
  • 资深的网站推广完美日记网络营销策划书
  • 90设计网站免费素材网站seo培训
  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名