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

郑州汉狮哪家做网站好信息流投放平台

郑州汉狮哪家做网站好,信息流投放平台,盘龙网站建设公司,wordpress全站链接信号与槽 QT中信号与槽是一种独特的通信机制,类似于中断回调函数,可以实现对象之间的数据交互和事件处理 槽:实现对象与对象之间的通信,一个对象发生了改变就会发送信号通知另外一个对象,另外一个对象收到信号就会执…

信号与槽

QT中信号与槽是一种独特的通信机制,类似于中断回调函数,可以实现对象之间的数据交互和事件处理

实现对象与对象之间的通信,一个对象发生了改变就会发送信号通知另外一个对象,另外一个对象收到信号就会执行一个函数,这个函数我们称为槽(函数)

信号

信号是在特定情况下被发射的事件。例如,当按钮被点击时,按钮对象会发出一个点击信号。

信号函数只能声明,不能定义 。 它使用 signals 关键字进行声明,并且不能有返回值,只能为 void 类型。在QT中,可以使用 emit 关键字来发射信号

槽是信号响应的函数,即当信号被发射时,与之连接的槽函数会被自动调用
 

槽函数是普通的C++成员函数,可以像其他函数一样被调用,并且它们可以有参数和返回值。

槽函数的声明和普通成员函数一样,但在QT的元对象系统中需要使用 slots 进行一些特殊的标记,以便与信号进行连接。


 

class 类名
{
Q_OBJECT
//信号
signals:
void mySignal_01();
void mySignal_02(int data);
}
class 类名
{
Q_OBJECT
//槽
public slots:
void mySlot_01(void);
void mySlot_02(int data);
};

信号的发送

1.信号是由对象发出的, 当其内部状态发生变化时,对象的客户端或所有者可能会感兴趣。信号是公共访问函数,可以从任何地方发出,但我们建议只从定义信号及其子类的类发出它们。

2.
如果几个槽连接到一个信号,当信号发出时,这些槽将按照它们连接的顺序一个接一个地执行。

槽的调用

1.当与槽连接的信号发出时,它被调用。 槽是正常C++函数,可以正常调用;它们唯一的特点是信号可以连接到它们。


2.由于槽是正常的成员函数,直接调用时遵循正常的C++规则。但是,作为槽,任何组件都可以通过信号-槽连接调用它们,无论其访问级别如何。这意味着从任意类的实例发出的信号可以导致在不相关的类的实例中调用私有插槽
 

信号于槽的连接

1.手动连接

运用  connect 函数 

[static] QMetaObject::Connection QObject::connect(const QObject *sender, const char
*signal, const QObject *receiver, const char *method, Qt::ConnectionType type =
Qt::AutoConnection)

第一个参数是要发送信号的对象地址

第二个参数是发送的哪一个信号的地址

第三个参数是谁接收信号

第四个参数是哪一个槽函数接收信号

第五个参数是默认值

ConnectionType 是一个定义在 Qt namespace 中的一个枚举,具体内容如下:

enum ConnectionType {
AutoConnection,
DirectConnection,
QueuedConnection,
BlockingQueuedConnection,
UniqueConnection = 0x80
};


 

例子:

QObject::connect(&object1,SIGNAL(mySignal_01()),&object2,SLOT(mySlot_01()));
QObject::connect(&object1,SIGNAL(mySignal_02(int)),&object2,SLOT(mySlot_02(int)));
QObject::connect(&object1,&MainWindow::mySignal_01,&object2,&MainWindow::mySlot_01);

2.自动连接

适用于按钮之类的信号触发 

void MainWindow::on_pushButton_clicked()
{
qDebug() << "on_pushButton_clicked";
}

注意: 

只有调用了 QMetaObject::connectSlotsByName 方法后,这种形式的槽函数才有效哦!在 ui->setupUi(this) ;有调用它
 

信号于槽连接的类型及规则

1.连接类型 

 主要讨论的是发送信号的对象和调用槽函数的对象是否在同一个线程中

2.连接规则

 1.信号的参数可以比槽函数多,反之则不可以

2.一个信号可以连接到多个槽

3.多个信号可以连接到同一个槽

4.一个信号可以与另一个信号连接(第一个信号的参数不能比第二个信号少)

http://www.dtcms.com/wzjs/283693.html

相关文章:

  • 上海网站建设网络公司餐饮品牌全案策划
  • 网站推广网站网站模板平台资源
  • 政务公开及网站建设意见中国疫情今天最新消息
  • wordpress .htaccess在哪里长尾词seo排名
  • 做网站做丝袜美女的能行吗深圳网站设计
  • 环艺做网站百度网盘资源
  • 网站空间指的是什么意思实时积分榜
  • 网站做302跳转的意义seo裤子的关键词首页排名有哪些
  • wordpress修复数据库宁波网站优化公司推荐
  • wordpress 文章截取毕节地seo
  • 网站 建设初步磁力链最好用的搜索引擎
  • 正品海外购网站有哪些营销策划是做什么
  • wordpress 笑话站上海网络关键词优化
  • 企业建设好一个网站后 如何进行网站推广2021年最为成功的营销案例
  • 公司外贸网站推广平台排名前十名
  • 接私活做预算的网站百度竞价推广开户费用
  • bootcdn WordPress优化大师app下载
  • 昆明云南微网站制作如何制作一个网站
  • 网站云空间和普通空间网站推广计划书范文500字
  • 一级a做爰片免费网站性恔免费友链互换
  • 福建商城网站制作公司我要学电脑哪里有短期培训班
  • 做网站page近期发生的新闻
  • 男女生做爰视频网站网络推广免费平台
  • 物流企业seo竞价培训
  • 河南省建设厅官方网站 吴浩大型网站制作
  • 网站建设的税收分类编码百度推广怎么做效果好
  • 做消费信贷网站价格市场营销渠道
  • 电子商务网站建设的平台app推广全国代理加盟
  • 嘉兴网站开发济南网站seo优化
  • 新闻热点事件2021(最新)10月重庆seo优化