本页内容

添加自定义属性

每个预设组件都有一组可指定值的预设属性。你可以为特定组件类型添加原本不存在的自定义属性。你可以将属性绑定到动态表达式,为组件定义可被其他组件读取的全局属性。例如,你可以为根组件指定可用于子组件的全局属性。

例如,要指定 UI 元素之间的间距,可以为没有 margin 属性的组件定义 margin,然后使用绑定来引用其他组件的 margin 属性值。

同样,你也可以为自己的组件添加基于预设组件的自定义属性。

任何数据驱动的内容都应作为相关组件的公共属性(别名属性)导出。例如,速度计应该有一个用于速度的 intreal属性,用户界面与之绑定。

设置 "视图中的 "本地自定义属性 "和 "暴露的自定义属性 "设置。

为组件添加属性

为组件添加自定义属性

  1. 转到Properties >Local Custom Properties
  2. 选择加号按钮 (Add)。

    在 "属性 "视图中添加属性

  3. 为属性设置NameType

    添加新属性对话框。

    出现添加新属性对话框。

  4. 选择Add Property 添加属性。

绑定属性值

要将属性值绑定到另一个属性或应用程序中可访问的数据:

  1. Properties 视图中,选择属性旁边的行动按钮
  2. 选择Set Binding

    装订编辑。

    绑定编辑器对话框。

有关更多信息,请参阅设置绑定

在 "连接 "视图中添加自定义属性

要在Connections 视图中为组件添加自定义属性,请执行以下操作

  1. 2DNavigator 视图中选择一个组件。
  2. 转到Connections >Properties

    连接 "视图中的 "属性 "选项卡。

  3. 选择加号按钮 (Add) 添加自定义属性。
  4. 在自定义属性编辑器中,选择要包含的属性的Type

    自定义属性编辑器。

    自定义属性编辑器。

  5. 为属性设置NameValue

删除自定义属性

转到Connections >Properties ,然后选择减号按钮 (Remove) 删除选定的自定义属性。

支持的属性类型

下表描述了支持的属性类型:

类型说明
别名属性别名,包含对另一个属性的引用
二进制二进制truefalse
颜色颜色值,可通过使用 SVG 颜色名称(如"red","green", 或"lightsteelblue", 或分别为"#RRGGBB""#AARRGGBB" 形式的十六进制三元组或四元组)来指定。例如,红色对应"#FF0000" 的三进制,略带透明的蓝色对应"#800000FF" 的四进制。此外,您还可以使用以下 Qt 函数:Qt.rgba(),Qt.hsva(),Qt.hsla(),Qt.darker(),Qt.lighter(), 和Qt.tint().
整数整数,如 0、10 或 -20
实数带小数点的数
字符串自由格式文本字符串
纹理输入指定暴露给自定义材质或效果着色器的纹理。
url资源定位符,如文件名。它可以是绝对 URL(http://qt-project.org ),也可以是相对 URL(pics/logo.png )。相对 URL 是相对于父组件的 URL 解析的。
变量通用属性类型。例如,变量属性可以存储数字、字符串、对象、数组和函数。
向量 2d指具有 x 和 y 属性的值。
向量 3d指具有 x、y 和 z 属性的值。
向量 4d指具有 x、y、z 和 w 属性的值。

另请参阅 如何使用用户界面组件Qt Quick 用户界面设计,以及设计Qt Quick 用户界面

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.