QCopChannel的用法
来源:互联网 发布:linux安装jdk1.7 编辑:程序博客网 时间:2024/05/17 09:30
QCopChannel的用法
QT提供了很多的进程间通讯的方法,例如共享内存,QProcess等等。但有一种方法是嵌入式端所独有的,那就是Qt Communications Protocol(QCOP)QT通讯协议,这种方法只能用于QT Embeded。
网上关于这种用法的资料比较少,研究了半天才搞明白是怎么回事。
QCOP将进程间的通讯简化,使之就像使用QT中的信号与槽一样方便。
用法:
1.首先是编写接收消息的程序
channel = new QCopChannel(QString("/System/recevie"),this);connect(channel, SIGNAL(received(const QString&,const QByteArray&)), this, SLOT(processReceviedMsg(const QString&,const QByteArray&)));
这个/System/recevie可以随便填写,但在之后必须与发送端的程序设定的一致。 QCopChannel类中已经提供了一个信号received(const QString&,const QByteArray&),只需要将这个信号连接到自己写好的槽函数上,就可以使用了。 这个信号的第一个参数是类型,可以让你识别发过来的消息是什么类型,可以自由填写任意的字符串,只要你自己知道就行。 第二个参数,是数据,是你传送过来的数据。
2.编写发送消息的程序 发送端的编写就更简单了。
QByteArray data;QCopChannel::send(QString("/System/recevie"), "print(QString)", data);
只需要让send中的/System/recevie与接收端的一致,那么发送的消息就会发给所有注册了/System/recevie的进程。 还可以使用
QCopChannel::isRegistered(“/System/recevice”);
查询是否有这个channel注册过。
0 0
- QCopChannel的用法
- QCopChannel的用法
- QCopChannel的用法
- QCopChannel的工作原理
- QCopChannel的工作原理
- QT QCopChannel 进程间通信
- ?的用法
- ?的用法
- ---" ~ " 的用法---
- ---" ~ " 的用法---
- ~ 的用法
- 的用法
- ##的用法
- ##的用法
- 的用法
- ${ }的用法
- ##的用法
- ${ }的用法
- 关于分布式系统的数据一致性问题
- 分蛋糕问题
- Android-Lint检查的潜在问题
- MFC_笔记
- DM8168 DVRRDK软件框架研究
- QCopChannel的用法
- mvc开发模式
- Java DecimalFormat
- js注意事项07
- ubuntu 修改时区
- Dijkstra最短路算法
- 动态类型检测
- 栈与队列之进阶
- 中国互联网技术联盟发布首个“互联网+”权威定义