第八部分,协议与框架开发
TUI 组件系统
使用 @earendil-works/pi-tui 的 Component、Overlay、Markdown、Image、焦点与性能机制。
组件与焦点
Pi TUI 组件实现 render(width) 并返回终端行。Focusable 组件还处理输入焦点和 IME。容器负责组合子组件,Overlay 可以覆盖主界面。
终端宽度按可见字符计算,ANSI 转义和宽字符需要专用工具处理。不要直接用字符串 length 做布局。
- Text、Box、Container、Spacer 提供基础布局。
- Markdown 与 Image 处理富内容。
- 选择列表和设置列表提供常用交互。
- BorderedLoader 适合可取消异步操作。
- 自定义 Editor 可实现 Vim 等模式。
性能与 invalidation
TUI 使用差异渲染。组件状态变化后需要正确 invalidation,主题变化时重建依赖颜色的缓存内容。
大型列表应减少重复计算,长任务用增量状态而不是每次重建整个树。
官方资料
本页由 xueai 根据 Pi 官方资料用中文重新组织和讲解。Pi 更新频繁,命令、包名和接口以官方最新文档为准。
Pi 源代码和官方文档采用 MIT License。Copyright (c) 2025 Mario Zechner。本站保留原版权与许可声明,完整文本见 MIT License。