互联网时代,软件之间的通信比较频繁
最近用Qt写了一个监视软件,需要得到一个通知,所以上网找到方法,幸运的是,GitHub有很多例子,学习了一下
由于是小白
记录下流程:待以后慢慢学习
首先,因为我们用到了Qt中的类库,我们必须了解QT中信号(SIGNAL)和槽(SLOT)的机制。
当然了,这个依赖于Q_OBJECT的宏,带来的 Q_SIGNALS和Q_SLOTS。
然后用connect命令来连接他们
当然信号量也可以引用信号量,不过看起来引用多了会蒙圈。
例:
connect(socket, SIGNAL(readyRead()), this, SLOT(parseRequest()));
其中 socket 为一个对象实例的指针,SIGNAL(readyRead())为socket指针中的一个信号量
this也为一个指针,这里是当前对象实例自己,SLOT(parseRequest())为槽
大概的意思就是,当socket获得数据的,调用Q_EMIT readyRead() ,这个样他能调用通过机制,
直接就能调用this中的 parseRequest函数,然后你处理你自己的逻辑,当然函数可以有参数,他也能准确传达。
由于是小白,感觉这个高大上的机制,类似于一个表 键值对 中函数指针的调用,这样的一个通知机制,很强大也很方便。
只是个人理解,详细机制还等深入学习,错误请大神指正。
话不多说,进入正题:</