TypePHP\Qt
指南
控件
深入
参考
FAQ
  • English
  • 简体中文
GitHub
指南
控件
深入
参考
FAQ
  • English
  • 简体中文
GitHub
  • 控件目录

    • 控件目录
    • 容器
    • 输入控件
    • 数据控件
    • 展示控件
    • WebView(内嵌网页)

控件目录

所有控件都由 TypePHP\Qt\WidgetTree 的静态方法构造,返回一个数组节点。节点形如:

['type' => 'button', 'props' => ['id' => 'ok', 'text' => '确定'], 'children' => []]

但你不用手写这个结构 —— 用工厂方法:

WidgetTree::button('确定', ['id' => 'ok']);

按类别查

类别包含
容器vbox hbox grid form group frame scroll tabs tab stack page split spacer separator
输入lineedit textedit spin doublespin slider checkbox radio combo
数据list table tree
展示label button progress image link
内嵌网页webview

速查表

方法说明主要属性
vbox($children)垂直布局spacing margin
hbox($children)水平布局spacing margin
grid($children)网格布局row col row_span col_span
form($children)两列表单—
group($title, $children)带标题分组框title
frame($children)无标题容器style
scroll($children)滚动区—
tabs($pages)标签页tab_position current
tab($title, $children)单个标签页title
stack($pages)无标签堆叠current
page($children)堆叠中的一页—
split($children)可拖动分割orientation sizes
spacer($size)弹性占位size
separator()分隔线—
label($text)文本标签text bold font_size align
button($text)按钮text checkable checked flat default
lineEdit($text)单行输入text placeholder password clear_button max_length
textEdit($text)多行输入text wrap readonly
spin($value)整数框value min max step prefix suffix
doubleSpin($value)浮点框同上 + decimals
slider($value)滑块value min max orientation ticks
progress($value)进度条value min max
checkbox($text, $checked)复选框checked
radio($text, $checked)单选框checked
combo($items, $current)下拉框items current editable
list($items, $current)列表items current multi
table($columns, $rows)表格columns rows row_ids current
tree($nodes)树nodes headers current
image($path)图片path scaled_size
link($text, $href)链接text href

所有节点通用

id visible enabled tooltip style size min_size max_size align grow

完整属性表见属性。

组合示例

WidgetTree::vbox([
    WidgetTree::group('搜索', [
        WidgetTree::hbox([
            WidgetTree::lineEdit($state->query, ['id' => 'q', 'placeholder' => '关键词', 'grow' => 1]),
            WidgetTree::button('搜索', ['id' => 'go']),
        ]),
    ]),

    WidgetTree::table(
        ['名称', '数量', '状态'],
        $state->rows(),
        ['id' => 'tbl', 'row_ids' => $state->rowIds(), 'stretch_last' => true, 'grow' => 1]
    ),

    WidgetTree::hbox([
        WidgetTree::checkbox('只看未完成', $state->onlyPending, ['id' => 'filter']),
        WidgetTree::spacer(1),
        WidgetTree::progress($state->progress, ['id' => 'bar', 'max' => 100]),
    ]),
]);
在 GitHub 上编辑此页
最后更新: 2026/10/6 03:13
Next
容器