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

专做电子产品评测的网站做百度推广的网络公司

专做电子产品评测的网站,做百度推广的网络公司,旅游网站建设方案之目标,wordpress框架教学目录 1、QT信号和槽的原理和理解 2、connect函数的参数,第五个参数是什么 1、QT信号和槽的原理和理解 信号和槽机制底层是通过函数间的相互调用实现的。 信号函数和槽函数通常位于某个类中,和普通的成员函数相比,它们的特别之处在于&#…

目录

1、QT信号和槽的原理和理解

2、connect函数的参数,第五个参数是什么


1、QT信号和槽的原理和理解

信号和槽机制底层是通过函数间的相互调用实现的。
信号函数和槽函数通常位于某个类中,和普通的成员函数相比,它们的特别之处在于:
信号函数用  signals 关键字修饰,槽函数用 public slots、protected slots 或者 private slots 修饰。signals 和 slots 是 Qt 在 C++ 的基础上扩展的关键字,专门用来指明信号函数和槽函数;
说是关键字,其实不准确,实际是宏。
# define QT_ANNOTATE_ACCESS_SPECIFIER(x)
# define Q_SIGNALS public QT_ANNOTATE_ACCESS_SPECIFIER(qt_signal)
# define signals Q_SIGNALS

信号与槽的实际流程通过以上的代码和一顿操作,我们来总结一下信号与槽的具体流程。moc编译器(Qt提供)查找头文件中的signals,slots,标记出信号和槽。将信号槽信息存储到类静态变量staticMetaObject中,并且按声明顺序进行存放,建立索引。当发现有connect连接时,将信号槽的索引信息放到一个map中,彼此配对。当调用emit时,调用信号函数,并且传递发送信号的对象指针,元对象指针,信号索引,参数列表到active函数通过active函数找到在map中找到所有与信号对应的槽索引根据槽索引找到槽函数,执行槽函数。以上,便是信号槽的整个流程,总的来说就是一个“注册-索引”机制,并不存在发送系统信号之类的事情。

信号函数只需要声明,不需要定义(实现),而槽函数需要定义(实现)。
注意,并非所有的控件之间都能通过信号和槽关联起来,信号和槽机制只适用于满足以下条件的控件:
发送者和接收者都需要继承自QObject或其子类;
必须在类声明的最开始添加Q_OBJECT宏;
槽中的参数类型要和信号的参数的类型相对应,且不能比信号的参数多;
使用 signals 标记信号函数,信号是一个函数声明,返回 void,不需要实现函数代码;
connect()函数的返回值为bool类型,当关联成功时返回true。
而Qt5中connect()函数新加入的一种重载形式,与Qt4最大的不同就是,指定信号和槽两个参数时可以不用再使用SIGNAL()和SLOT()宏,并且槽函数不再必须是使用slots关键字声明的函数,而可以是任意能和信号关联的成员函数。


将某个信号函数和某个槽函数关联起来,需要借助 QObject 类提供的 connect() 函数。
connect() 是 QObject 类中的一个静态成员函数,专门用来关联指定的信号函数和槽函数。

一个 connect() 函数只能关联一个信号函数和一个槽函数,程序中可以包含多个 connect() 函数,能实现以下几种效果:
关联多个信号函数和多个槽函数;
一个信号函数可以关联多个槽函数,当信号发出时,与之关联的槽函数会一个接一个地执行,将按声明联系时的顺序依次调用槽。
多个信号函数可以关联同一个槽函数,无论哪个信号发出,槽函数都会执行。

2、connect函数的参数,第五个参数是什么

连接类型
1、直接连接Qt::DirectConnection,emit发射信号后立马执行槽函数,没有任何等待
2、队列连接Qt::QueuedConnection,先执行完for循环,当空闲后再执行槽函数。
3、阻塞队列连接:Qt::BlockingQueuedConnection,

http://www.hengruixuexiao.com/news/22274.html

相关文章:

  • 网站建设全程揭秘光盘文件怎么制作网站教程步骤
  • 网站版面布局百度推广官方
  • 做网站模板哪里买网络营销的四大要素
  • 政府网站开发 扬州下载百度软件
  • 企业网络维护一般多少钱手机端网站优化
  • 可视化网站制作软件云seo关键词排名优化软件
  • 微网站介绍百度站长统计
  • 如何安装wordpress手机站导航百度新闻
  • 网站建设方为客户提供使用说明书如何把自己的网站推广出去
  • 网络销售怎么跟客户聊天seo推广技术培训
  • 高端炫酷h5怎么制作厦门seo怎么做
  • 临清聊城网站优化网页设计首页
  • 网站用户注册怎么做怎样做推广是免费的
  • 深圳建设网站排名黑帽seo什么意思
  • 做门面商铺比较好的网站seo推广公司哪家好
  • 电子商务网站功能长沙市最新疫情
  • 做单网站app推广全国代理加盟
  • 西峡做网站seo站内优化
  • 商丘做网站张谷歌推广外贸建站
  • 东莞网站推广怎么样常州网站推广排名
  • 杭州网站建设怎么样seo关键词优化软件app
  • 人工智能seo搜索引擎优化公司
  • 同创企业网站源码网站seo顾问
  • 在欣欣网上做网站效果如何衡阳网站优化公司
  • 漳州哪里做网站网店seo是什么意思
  • 上线了小程序怎么样网站优化包括哪些
  • 怎样创建一个网址seo诊断服务
  • 做网站费用走什么科目网站点击量与排名
  • 租车网站建设郑州网络推广
  • 做网站电脑配置网络媒体