快速上手 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),仅供参考

相关新闻

鸿蒙小艺流光:系统级防诈骗如何重塑手机安全交互体验

鸿蒙小艺流光:系统级防诈骗如何重塑手机安全交互体验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/10 20:46:11 阅读更多 →
ESRI 10米土地利用数据深度解析:从获取、处理到GIS实战应用

ESRI 10米土地利用数据深度解析:从获取、处理到GIS实战应用

简介:本资源为2021年辽宁省高精度土地利用栅格数据集,面向地理信息、城乡规划、环境科学及农业研究领域的科研人员与GIS从业者,支撑土地变化监测、国土空间规划评估与区域可持续发展分析等实际应用。数据源自ESRI官方,经中国大陆架…

2026/10/25 10:49:27 阅读更多 →
基于Python的旅游景点智能推荐系统的设计与实现毕业设计项目源码文档

基于Python的旅游景点智能推荐系统的设计与实现毕业设计项目源码文档

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/10/24 8:56:23 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/9 14:01:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/9 14:56:39 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/10 2:03:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/9 14:01:11 阅读更多 →

日新闻

周新闻

月新闻