跳转到主要内容

Widget

组件根元素。一个 .qwidget 文件只能有一个 Widget。

签名

属性

UpdateTTL / RefreshTTL 常量:
  • Default:使用启动器默认值(更新 6 小时;刷新不自动)
  • Immediately:每次组件挂载时执行
  • PreLaunch:每次启动器进程只执行一次
  • PreLoad:每次切换到主页/重新挂载时执行
  • None:不自动执行
  • 数字:秒数,例如 30 表示 30 秒

ImageHosts

动态 Image / Media 的图片、音视频和 poster 域名白名单:
  • 支持精确域名、*.example.com 和 *
  • 编辑器只需确认一次 ImageHosts,不需要逐张图确认
  • 静态 URL 不要求确认
  • ImageHosts="*" 表示允许所有 HTTPS 图片/媒体主机

子元素

Widget 的直接子元素可以是:
  • 布局/控件节点:Container、Row、Column、Grid、Text、Button、Dialog 等
  • Data
  • Resources
  • Triggers
  • Function
  • Widget.Using
  • Widget.Inputs / Widget.Outputs(组件契约)
Data 也可以出现在任意布局容器内;Resources、Triggers、Function 只允许放在根下。

属性元素

根属性也适用属性元素语法:

运行时行为

  1. 解析并严格校验 XML:未知元素/属性、重复属性、非法 URL/枚举直接报错。
  2. 解析 Data 并开始拉取;解析 Resources;解析 Function/Triggers。
  3. 执行 Loaded 触发器。
  4. 渲染节点;父组件通过 Children 读取快照;声明了 Widget.Outputs 时只暴露 Children.<As>.Outputs。
  5. 在线组件按 6 小时 TTL 检查更新。

限制

  • XML ≤256KB、深度 ≤16、元素 ≤1000。
  • 数据源 ≤8、嵌套实例 ≤20。
  • 未命名数据源默认名为 Data。

相关