这段时间完成了一个Qt程序,并且已经发布,在这里记录下自己在整个设计中遇到的一些坑。关于qtbbus我这里主要写一些systembus方面的一些问题。通过AddBus一个简单的类来描述整个实现过程。在qt中访问dbus,需要在*.pro文件中添加CONFIG += qdbus
server设计
服务端非常简单,它只有一个函数实现返回两个参数之和的功能。
#include
class AddBus : public QObject
{
Q_OBJECT
public:
explicit AddBus(QObject *parent = 0);
~AddBus();
public Q_SLOTS:
int add(int a, int b);
};
实现完成整个基本功能之后需要在qdbuscpp2xml这个软件的帮助下把接口导出称为xml文件。
qdbuscpp2xml addbus.h -o addbus.xml
一般来说生成的xml中关于这一项的定义都不是非常符合我们的要求,需要重新填写。这里我修改为
然后通过qdbusxml2cpp命令生成适配器类
qdbusxml2cpp addbus.xml -a addbus_adaptor
把生成的addbus_adaptor类导入pro中。编辑main.cpp文件
#include "addbus.h"
#include "addbus_adaptor.h"
#include