过滤器参考

除了在此处列出的内置Jinja过滤器外,ivigenerator还实现了以下附加功能。

过滤器

return_type(symbol)

返回传入符号的C++类型。

例如,对于类型为“字符串”的符号,是QString

parameter_type(symbol)

返回传入符号的C++类型。这返回与return_type()相同的类型,但已准备好用作方法的参数。

例如,对于类型为“字符串”的符号,是"const QString *<name>"。

getter_name(symbol)

如果通过@getter_name注释定义了属性获取器名称,则返回该获取器名称。否则返回传入的符号。

setter_name(symbol)

如果通过@setter_name注释定义了属性设置器名称,则返回该设置器名称。否则返回传入的符号。

default_type_value(symbol)

返回传入符号的默认值。模型以nullptr初始化。

default_value(symbol, zone="=")

注意:此过滤器已过时,将在未来Qt版本中删除。

返回通过@default注释设置的传入符号的默认值。如果没有设置,则使用default_type_value代替。

区域参数用于识别不同区域的不同默认值。

model_type(symbol)

注意:此过滤器已过时,将在未来Qt版本中删除。

返回此模型的C++类名。

flag_type(symbol)

返回通过@type注释为传入的标志定义的名称。如果没有设置,则尝试在传入的名称末尾添加“s”以使名称复数化。

parse_doc(string)

解析传入的注释字符串,并将每个javadoc命令添加到其自己的组中。不带标签的句子放置在“描述”组中。

{% with doc = comments|parse_doc -%}
{% if doc.brief %}    \brief {{doc.brief}}
{% endif %}

{% if doc.description %}
    {{doc.description}}
{% endif %}
{% endwith %}

lowerfirst(string)

仅将给定字符串的第一个字符转换为小写。

range_low(property)

注意:此过滤器已过时,将在未来Qt版本中删除。

返回使用 @range@minimum 注解传递的属性的最低值。

range_high(property)

注意:此过滤器已过时,将在未来Qt版本中删除。

返回使用 @range@maximum 注解传递的属性的最高值。

strip_QT(string)

如果字符串以 'QT' 开头,则移除它。

domain_values(symbol)

注意:此过滤器已过时,将在未来Qt版本中删除。

返回使用 @domain 注解的给定属性的域值。

enum_value(value, module_name)

返回给定值的完全限定 C++ 名称。传递的 module_name 作为包含枚举的 C++ 类名使用。

也支持通过 '|' 连接的值。

tag_by_path(symbol, path, default_value=False)

注意:此过滤器已过时,将在未来Qt版本中删除。

在对象层次结构中查找给定路径的标签,如 property.config_sim.zones.right。如果路径的某些部分丢失,则返回 None

conf_sim_tag(symbol, path, default_value=False)

注意:此过滤器已过时,将在未来Qt版本中删除。

查找位于 "config_simulator" 子对象下的路径标签。如果路径的某些部分丢失,则返回 None

jsonify(obj)

返回给定 obj 的 JSON 表示形式。

has_domains(properties)

注意:此过滤器已过时,将在未来Qt版本中删除。

如果任何给定的属性具有 @range@domain 注解,则返回 true

json_domain(properties)

注意:此过滤器已过时,将在未来Qt版本中删除。

以 JSON 格式返回给定属性的属性域。

qml_type(interface)

返回用于 QML 中的接口/模块名称。此名称由 @qml_type 注解定义。此注解是可选的:如果不提供,则使用接口名称,对于模块则使用 module_name。

qml_control(symbol, backend_obj)

注意:此过滤器已过时,将在未来Qt版本中删除。

返回控制(或控制组)的 QML 代码,以表示传递的符号的编辑 UI。

qml_binding_property(symbol)

注意:此过滤器已过时,将在未来Qt版本中删除。

返回要绑定到的 QML 控件的属性名称。

例如,对于滑块是 "value",对于复选框是 "checked"。

qml_control_signal_parameters(symbol)

注意:此过滤器已弃用,将在未来的 Qt 版本中删除

返回使用来自 UI 控件的值调用信号的参数。

struct_includes(symbol)

返回接口或结构所依赖的结构体的包含文件。返回的字符串是完整且格式为 #include "struct.h"。

comment_text(comment)

返回移除了开头和结尾注释标记('/**', '*')的指定注释文本。

qml_info_type(symbol)

返回要用于 qmltype 模板内的符号的正确类型。

全局函数

error(msg)

抛出包含指定 msg 的错误。

警告(msg)

报告一个包含给定msg的警告

©2020 Qt公司有限制公司。本文档中包含的贡献均为各自所有者的版权。本提供的文档按照自由软件基金会发布的GNU自由文档许可协议版本1.3条款进行许可。Qt及其相关标志是芬兰和/或其他国家/地区的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。