在Linux下面实现QDbus通信机制服务对象注册失败
2016-07-07 19:57
344 查看
要点:QDBUS通信机制的作为服务端的使用分为3个步骤:
if(!QDBusConnection::sessionBus().isConnected()) //1建立与DBUS的链接
if(QDBusConnection::sessionBus().registerService( //2注册服务
“hit.test.middleware”))
MiddleWareMain w;
QDBusConnection::sessionBus().registerObject(“/”, &w, QDBusConnection::ExportAllSlots); //3注册服务对象
分析:
1, 采用一般新建项目可以正确注册成功;
试图:改此项目,刚开始没问题,过了几次之后文件一次性添加很多(基本添加完毕),项目中服务对象就无法注册成功。
2, 在此项目中新建一个类文件,这个类的对象可以正确注册服务,但是不稳定,用相同的方法再写一个文件可能不能成功注册,并没有发现这两种方法有什么区别。
解决方案:
#ifdef Q_OS_LINUX public slots: int xxxx(); #endif
这对宏定义说明不能将所要调用的槽包括进来,我也不知道原因,包含起来就不能其多提供的槽函数
相关文章推荐
- android 进程间通信使用aidl和Messenger类
- Android AIDL实例
- 不同进程共享链表方法:用共享内存创建链表
- linux 20个有趣命令
- Linux 常用文件处理命令
- win7基于maven和eclipse连接远程Linux服务器的hadoop2.0集群的入门程序
- linux用户权限
- Linux中find常见用法示例
- linux查看内核版本、系统版本、系统位数(32or64)
- 利用securecrt在linux与windows之间传输文件
- 基于tiny4412的Linux内核移植 -- 设备树的展开
- 在Linux下使用gradle自动打包
- Linux中gcc编译过程分解
- Linux目录结构和常用命令
- Linux一键部署Web环境
- linux进程间通信-信号通信
- Linux入门:常用命令:scp上传下载文件
- CentOS安装NTFS-3g
- 如何使用Unix/Linux grep命令——磨刀不误砍柴工系列
- linux 快速分析JVM信息