利用 Qt 进行接口间通信

简述

接口的作用,就是提供一个与其他系统交互的方法。其他系统无需(也无法)了解内部的具体细节,只能通过对外提供的接口来与进行通信。

纯虚函数(包括槽)很容易理解,那么信号呢?

在 Qt 中,定义一个纯虚信号有效吗?

的确,这个话题非常有意思。。。通常,我们会定义一些纯虚的槽函数,但关于纯虚信号这个话题讨论的比较少!那么,信号可不可以是纯虚的呢?

| 版权声明:一去、二三里,未经博主允许不得转载。

一些设想

关于信号和纯虚,我们知道:

  • 信号永远不会有实现(也就是说,在 .h 中定义了信号,在 .cpp 中不需要实现)
  • 声明一个纯虚函数的主要目的,是强制继承的类提供一个实现。

信号没有实现,如果将其声明为纯虚的,需要继承的类来提供一个实现,这与“信号没有实现”直接冲突。就好比让一个人同时出现在两个地方,这是不可能的。因此,似乎声明一个纯虚信号是一个错误。

在编写完一个接口时,为了能使用 Qt 的信号槽特性,很多人可能会写出类似下面的代码:

这里写图片描述

很遗憾,Qt 发出了警告:

warning: Signals

©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付39.90元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值