qml文件的doxygen输入过滤器
doxyqml的Python项目详细描述
目标
doxyqml允许您使用doxygen来记录qml类。
集成为doxGin输入过滤器,将QML文件转换为伪C++。 然后doxygen可以用来生成文档。
安装
doxyqml使用标准的python安装工具,因此您可以使用pip安装它:
pip3 install doxyqml
或手动使用:
python3 setup.py install
告诉doxygen使用doxyqml
要告诉doxygen关于doxyqml,您必须对doxygen进行一些更改 配置文件。
将.qml扩展名添加到
FILTER_PATTERNS
键:FILTER_PATTERNS = *.qml=doxyqml
注意:在windows上,doxyqml将自己安装在 python安装。如果此文件夹不在路径中,请添加或使用 这里是doxyqml的完整路径(但这在机器之间的可移植性较差)
将.qml扩展名添加到
FILE_PATTERNS
:FILE_PATTERNS = *.qml
由于doxygen 1.8.8,您还必须将.qml扩展名添加到
EXTENSION_MAPPING
:EXTENSION_MAPPING = qml=C++
记录类型
qml是部分类型化的:函数是非类型化的,属性和信号是。 doxyqml提供了一种在类型丢失或不精确时定义类型的方法。 够了。
功能
qml中的函数是非类型化的,但是您可以在文档中定义类型 像这样:
/**
* Create a user
* @param type:string firstname User firstname
* @param type:string lastname User lastname
* @param type:int User age
* @return type:User The User object
*/
function createUser(firstname, lastname, age);
属性
qml属性是类型化的,因此doxyqml默认使用它们。不过,你还是可以
使用相同的type:<name>
语法覆盖类型。这对
文档属性别名:
/** type:string The user lastname */
property alias lastname: someObject.text
信号
qml信号是类型化的,因此不需要使用type:<name>
语法来
记录他们的参数。在信号文档中使用type:<name>
语法
不会起作用:doxyqml不会去掉它,doxygen会把它和
参数名称。
/**
* User just logged in
* @param user The user which logged in
*/
signal loggedIn(User user)
提取内部元素
具有id的qml元素作为私有成员变量导出。如果你设置
然后EXTRACT_ALL
和extract_privateDoxygen keys to
yes`,然后这些
元素将在生成的文档中可见。