在Linux下面实现QDbus通信机制服务对象注册失败

这里写图片描述
要点: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

这对宏定义说明不能将所要调用的槽包括进来,我也不知道原因,包含起来就不能其多提供的槽函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值