公司动态
快速上手 Textual:10 分钟从零构建你的第一个终端时钟应用
快速上手 Textual10 分钟从零构建你的第一个终端时钟应用【免费下载链接】textualThe lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.项目地址: https://gitcode.com/gh_mirrors/te/textualTextual是一款专为 Python 打造的终端 UI 应用框架TUI 框架让你用简单的 Python API 就能构建出媲美桌面软件的精致界面并直接运行在终端里——不需要网页、不需要 GUI 库。本文将带你快速上手 Textual10 分钟内从零写出你的第一个终端时钟应用还会讲解框架核心概念、开发工具与进阶方向。什么是 TextualTextual 的 API 结合了现代 Python 与 Web 世界的最佳实践丰富的内置组件按钮、树形控件、数据表格、输入框、文本域等一应俱全CSS 样式系统用熟悉的 CSS 语法为组件布局和上色还支持热更新完善的测试框架让你放心维护长期项目终端 浏览器双端运行同一个应用既可以跑在终端也能通过textual serve发布到网页安装 Textual 终端应用框架Textual 要求Python 3.9支持 Linux、macOS、Windows。一条命令即可安装pip install textual textual-devtextual-dev是开发者工具包提供开发控制台、CSS 热重载等能力开发时建议一并安装。安装完成后先运行官方 Demo 感受一下 Textual 的能力python -m textual完整安装细节conda-forge、Linux 控制台等可参考 docs/getting_started.md。从零构建第一个终端时钟应用现在进入正题——写一个每秒刷新的终端时钟。完整源码在仓库 examples/clock.py 中一共不到 30 行from datetime import datetime from textual.app import App, ComposeResult from textual.widgets import Digits class ClockApp(App): CSS Screen { align: center middle; } Digits { width: auto; } def compose(self) - ComposeResult: yield Digits() def on_ready(self) - None: self.update_clock() self.set_interval(1, self.update_clock) def update_clock(self) - None: clock datetime.now().time() self.query_one(Digits).update(f{clock:%T}) if __name__ __main__: app ClockApp() app.run()保存为clock.py然后运行python clock.py终端中就会出现一个居中的大号数字时钟每秒跳动。下面拆解四个核心概念 1. 继承 App 类定义应用所有 Textual 应用都从 App 类 派生。CSS类变量是内联样式align: center middle让内容在屏幕中央居中显示——一行 CSS 搞定布局。2. compose() 方法构建界面compose()负责装配界面yield Digits()表示界面上只有一个 Digits 组件。Digits能把数字渲染成多行高的大字非常适合做时钟。3. set_interval() 定时器驱动刷新on_ready()在应用就绪时触发其中self.set_interval(1, self.update_clock)注册了一个每 1 秒执行一次update_clock的定时器时钟因此活了起来。这是 Textual 做动态界面的标准方式——无需手动轮询或回调地狱。4. query_one() 按类型或 ID 查找组件self.query_one(Digits)从组件树中取出那个Digits实例再调用.update()把最新时间写入。Textual 支持用类型、ID、CSS 选择器等多种方式定位组件。体验开发控制台Textual 应用在终端里运行如何调试textual-dev提供了一个独立的开发控制台在另一个终端连接正在运行的应用查看系统消息、事件流、日志和 print 输出还能对 CSS 进行实时编辑——改完立即生效无需重启。继续深入更多示例与学习路径仓库自带大量可直接运行的示例应用计算器、代码浏览器、贪吃蛇等克隆仓库后进入examples目录即可运行git clone https://gitcode.com/gh_mirrors/te/textual cd textual/examples python calculator.py推荐的学习路线阶段内容入口 教程手把手打造完整秒表应用组件、CSS、事件、响应式属性docs/tutorial.md 指南事件、布局、查询、工作者等核心机制docs/guide/index.md 组件库50 内置组件的参数与事件说明docs/widgets/index.md 示例代码各种场景的可运行示例examples/总结用 Textual 构建终端应用只需记住四步继承App并定义CSS在compose()中yield组件搭建界面用事件与定时器让界面动起来用query_one()读写组件状态从本文的 30 行时钟到 docs/tutorial.md 中功能完整的秒表应用Textual 让终端界面开发变得简单而有趣——现在就开始你的第一个 Textual 项目吧⏱️【免费下载链接】textualThe lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and a web browser.项目地址: https://gitcode.com/gh_mirrors/te/textual创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考