跳转到主要内容

QWidget XML 语法

QWidget 是单文件 XML。根元素固定为 Widget,其余元素分为布局、控件、数据/资源、触发器、函数和嵌套引用。

根元素

命名

所有元素、属性、枚举值使用大驼峰:
  • 元素:Container、Text、TextBox、Widget.Using
  • 属性:Value、Size、OnClick、EmptyText
  • 枚举:Lg、Bold、Center、Json、Binary

通用节点属性

除 Widget 根元素、Data、Resources、Function、Triggers 等非可视元素外,所有可视节点都支持: Target 与输入控件的 Name 是两个独立命名空间:Name 仍用于 {Inputs.Name} 和 Trigger Control="Name",Target 只用于脚本操作 UI。所有属性可选值见属性值参考。示例:
When 支持 Size.Width / Size.Height / Size.PixelWidth / Size.PixelHeight,运算符 <、<=、>、>=、==、!=,可用 and / or 连接;XML 属性里的 < 需写成 &lt;。 脚本示例见函数与 TypeScript。

三种等价写法

同一个属性支持属性语法、内容语法、属性元素语法,三者等价;同一属性被两种语法同时赋值会报错。
ContentProperty 映射: 属性元素可继续嵌套简单的属性赋值:

附加属性

Grid 的直接子元素支持 Grid.Row、Grid.Column、Grid.RowSpan、Grid.ColumnSpan:

绑定

字符串属性都可以用 {路径} 插值;整个值就是一个绑定时保留原始类型。 详见数据绑定。

元素总览

动作

按钮、链接和触发器通过 OnClick / OnChange / Action 调用动作: Launch、SetDefaultInstance、OpenInstance、Navigate、OpenUrl、OpenFolder、Copy、SelectAccount、Install、Refresh、CallFunction、RunCommand、PluginApi。 参数与示例见动作参考。

限制

  • XML ≤256KB、深度 ≤16、元素 ≤1000。
  • 数据源 ≤8 个;列表渲染 ≤200 项。
  • 在线文本 ≤1MB、二进制 ≤8MB;本地二进制 ≤8MB。
  • 嵌套深度 ≤5,单父组件 ≤20 个嵌套实例。
  • 函数脚本 ≤64KB,超时默认 3 秒,最大 10 秒。
  • 禁止 DOCTYPE / ENTITY;未知元素、未知属性、重复属性都会直接报错。