用qdbusxml2cpp将xml转换为cpp get error unknow type(uu)

时间:2016-09-27 03:19:04

标签: qt qdbusxml2cpp

我在Qt中使用qbusxml2cpp工具将xml转换为cpp类。我使用下面的命令转换名为nm-device.xml的xml文件(我从网络管理器包v0.9.8.8获取此xml文件)

qdbusxml2cpp -v -c Devices -p Devices.h:Devices.cpp nm-device.xml 

但我收到错误,这是输出:

  

得知未知类型`(uu)'你应该添加name =“org.qtproject.QtDBus.QtTypeName”value =“< type>”/>到XML描述

我也在谷歌搜索,我知道(uu)是一个结构,我需要将下面的行添加到xml文件

  

name =“org.qtproject.QtDBus.QtTypeName”value =“< type>”/>

问题是我应该在我的情况下使用什么类型?

2 个答案:

答案 0 :(得分:1)

我认为没有专门封装两个uint32字段的Qt类型,因此您可能需要创建自定义类型并注册它。

您可以在这里查看教程的https://techbase.kde.org/Development/Tutorials/D-Bus/CustomTypes#Edit_the_XML部分,该部分正在注册一个名为" Message"的自定义类型。并相应地修改XML文件。

答案 1 :(得分:1)

我刚刚找到了解决方案。它是

<annotation name="org.qtproject.QtDBus.QtTypeName" value="DeviceDBusStateReason"/>