ex4nicegui 0.9.3 使用文档
本仓库 `pyproject.toml` 标注 requires-python >= 3.9,依赖 nicegui~=3.5(用 3.8.0 一般也可工作)
1. 安装与导入
1.1 安装
pip install ex4nicegui==0.9.31.2 基本导入方式
from nicegui import ui
import ex4nicegui as ex4
from ex4nicegui import rxui # reactive UI:可响应式绑定的 UI 包装层
from ex4nicegui import bi # BI 模块
from ex4nicegui import toolbox as tb # VueUse/工具箱
from ex4nicegui import layout as ly # 布局扩展(rxFlex/gridFlex)2. 核心概念:MaybeRef / Ref / Getter
3. 顶层 API(import ex4nicegui as ex4 / from ex4nicegui import ...)
import ex4nicegui as ex4 / from ex4nicegui import ...)3.1 rxui(响应式 UI 命名空间)
3.2 to_ref(maybe_ref, is_deep=False)
to_ref(maybe_ref, is_deep=False)3.3 ref(value, is_deep=False)
ref(value, is_deep=False)3.4 deep_ref(value)
deep_ref(value)3.5 reactive(obj)
reactive(obj)3.6 to_value(obj)
to_value(obj)3.7 to_raw(obj) / is_reactive(obj)
to_raw(obj) / is_reactive(obj)3.8 is_ref(obj) / is_setter_ref(obj)
is_ref(obj) / is_setter_ref(obj)3.9 on(refs, onchanges=False, priority_level=1, effect_kws=None, deep=True, scope=None)
on(refs, onchanges=False, priority_level=1, effect_kws=None, deep=True, scope=None)3.10 batch(fn) / event_batch(fn)
batch(fn) / event_batch(fn)3.11 ref_computed(fn, desc="", debug_trigger=None, priority_level=1, debug_name=None)
ref_computed(fn, desc="", debug_trigger=None, priority_level=1, debug_name=None)3.12 async_computed(refs, init=None, evaluating=None, onchanges=True, debug_trigger=None, debug_name=None)
async_computed(refs, init=None, evaluating=None, onchanges=True, debug_trigger=None, debug_name=None)3.13 effect(fn, priority_level=1, debug_trigger=None, debug_name=None)
effect(fn, priority_level=1, debug_trigger=None, debug_name=None)3.14 effect_refreshable(fn, refs=[])
effect_refreshable(fn, refs=[])3.15 new_scope(detached=False)
new_scope(detached=False)3.16 next_tick(job)
next_tick(job)3.17 reset_echarts_dependencies(echarts_js_file)
reset_echarts_dependencies(echarts_js_file)3.18 PageState
PageState4. rxui(响应式 UI)完整 API
4.1 BindableUi 通用方法(所有 rxui 组件返回的包装对象都具备)
4.2 rxui 基础组件工厂(与 nicegui.ui.* 对应)
nicegui.ui.* 对应)4.3 vmodel(ref_obj, *attrs):对 dict/list/对象字段做双向绑定
vmodel(ref_obj, *attrs):对 dict/list/对象字段做双向绑定4.4 vfor(data, key=...):响应式列表渲染
vfor(data, key=...):响应式列表渲染4.5 ViewModel:类式状态管理(更“像 Vue/前端 MVVM”)
4.6 hooks/组件:鼠标、拖拽、分页、拖拽区、文件监听、Mermaid、ECharts
4.7 rxui.echarts(响应式封装)与底层 echarts 组件
5. BI 模块(from ex4nicegui import bi)
from ex4nicegui import bi)5.1 bi.data_source(data):创建数据源门面 DataSourceFacade
bi.data_source(data):创建数据源门面 DataSourceFacade5.2 DataSourceFacade 常用属性/方法
5.3 BI UI 的返回值:UiResult
6. toolbox(VueUse 工具箱)
6.1 tb.use_dark(value=True, options=None, on_value_change=None)
tb.use_dark(value=True, options=None, on_value_change=None)6.2 tb.use_breakpoints(options=None, on_active_change=None)
tb.use_breakpoints(options=None, on_active_change=None)6.3 tb.use_qr_code(text, on_data_change=None)
tb.use_qr_code(text, on_data_change=None)7. layout(布局扩展)
7.1 rxFlex:ly.rx_row / ly.rx_column
ly.rx_row / ly.rx_column7.2 gridFlex:ly.grid_box / ly.grid_flex / ly.GridFlex
ly.grid_box / ly.grid_flex / ly.GridFlex8. 其它(非顶层导出但项目内常用)
8.1 RefWrapper / to_ref_wrapper
RefWrapper / to_ref_wrapper8.2 调试 UI:ex4nicegui.tools.debug.display_ref_vars_ui(vars_dict)
ex4nicegui.tools.debug.display_ref_vars_ui(vars_dict)9. 常见模式速查
9.1 “值/Ref/Getter”统一写法
9.2 输入组件的正确绑定姿势
9.3 多个值一起改,减少抖动/重复刷新
10. API 总览(按模块列出导出名)
10.1 ex4nicegui 顶层导出
10.2 rxui 导出(响应式 UI)
10.3 bi 导出
10.4 toolbox 导出
10.5 layout 导出
最后更新于