Qt中的D-Bus工具

前言:

在使用Qt D-Bus编程之前,还需了解Qt 提供的D-Bus工具,Qt IDE环境提供了两个用于D-Bus编程的小工具,分别是Qt D-Bus XML compiler 和 D-Bus Viewer 。灵活运用这两个小工具能快速的实现接口调试和生成。

另:因为D-Bus最初是为Linux设计,目前大部分Linux系统都采用了D-Bus来实现进程通信,所以在Windows系统下要使用D-Bus要自己进行安装D-Bus或编译D-Bus库,博主在网上找到了编译好的D-Bus安装包,如需要更高版本,需要自己编译,下载链接如下:

DBus-Windows-Installer 多版本合辑

Qt D-Bus XML compiler:

该工具,可以用来解析接口描述并生成表示这些接口的静态代码,然后可以用来调用远程对象或实现所述接口,它提供了两个命令,qdbusxml2cpp命令可以产生两种输出:接口(代理)类或适配器类。后者包括一个c++头文件和一个源文件,可以根据需要对其进行编辑和调整。qdbuscpp2xml可以根据提供的接口文件生成XML文件,然后使用qdbusxml2cpp生成接口类和适配器类。

qdbusxml2cpp语法如下:

qdbusxml2cpp [options] xml-or-xml-file [interfaces ...]

Options参数如下:
  -?, -h, --help                    显示帮助信息.
  -v, --version                     显示版本信息.
  -a, --adaptor <filename>          将适配器代码写入<filename>
  -c, --classname <classname>          使用classname作为生成类的类名
  -i, --include <filename>          将#include<filename>添加到包含输出
  -l <classname>                    当生成Adaptor代码时,使用classname作为父类
  -m, --moc                         在cpp文件中包含 #include "filename.moc"语句
  -N, --no-namespaces               不使用名称空间
  -p, --proxy <filename>            将代理代码写入<filename>
  -V, --verbose                     详细信息

例:

解析Book.xml文件 生成Adaptor类,且包含Data.h文件,生成的文件名为BookAdaptor

qdbusxml2cpp Book.xml -i Data.h -a BookAdaptor

解析Book.xml文件生成接口Proxy代理类文件,生成的文件名为 BookInterface

qdbusxml2cpp Book.xml -p BookInterface

qdbuscpp2xml 语法如下:

qdbuscpp2xml [options...] [files...]

Options参数如下:
  -p|-s|-m       只解析可编写脚本的属性、信号和方法(槽)
  -P|-S|-M       解析所有属性、信号和方法(槽)
  -a             输出所有可编写脚本的内容(相当于-psm)
  -A             输出所有内容(相当于-PSM)
  -o <filename>  将输出写入文件<filename>
  -h             显示这个信息
  -V             显示程序版本并退出

例:

解析Book.h接口文件的所有内容并生成Book.xml

qdbuscpp2xml -A Book.h -o Book.xml

D-Bus Viewer

Qt D-Bus Viewer是一个总线查看工具,允许您查看D-Bus对象和消息。您可以在系统总线和会话总线之间进行选择。单击左侧列表上的任何服务,查看所有导出的对象。您可以通过双击方法来调用它们。如果方法接受一个或多个参数,则会打开属性编辑器。右键单击要连接到它的信号。所有发出的信号(包括它们的参数)都在窗口下方的message视图中输出

另:在命令行中输入qdbusviewer就会启用该工具或者在QtCreator安装目录下的bin目录下双击qdbusviewer.exe

例:如果Qt安装在E盘下则E:\Qt5.11.3\5.11.3\msvc2015\bin 目录下的qdbusviewer.exe

运行界面如下:

PS:详细操作后面代码分析时会进一步介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值