Textual 样式示例集:用 textual run 快速运行、验证与学习 Textual CSS

发布时间:2026/9/19 2:53:20

Textual 样式示例集:用 textual run 快速运行、验证与学习 Textual CSS Textual 样式示例集用 textual run 快速运行、验证与学习 Textual CSS【免费下载链接】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 的样式系统Textual CSS用于定义终端应用的外观官方文档中每一处样式说明都配有可运行的示例。仓库中的 docs/examples/styles/ 目录集中存放了这些示例的 Python 源码与配套 TCSS 样式表既是文档截图的生成来源也是开发者学习、调试与复刻样式效果的第一手资料。读完本文你将掌握用textual run一键运行这些示例的方法、示例的通用代码骨架以及 140 余个示例文件按样式主题的分类图谱从而把整套示例当作自己的样式工具箱。这套示例是什么docs/examples/styles/README.md开宗明义这里的文件是文档中使用的示例用于生成截图These are the examples from the documentation, used to generate screenshots即 docs/styles/ 中每个样式文档页配图均由对应示例渲染而成。该目录共包含 72 组*.py与*.tcss配对文件外加本 README每一对演示一个或一组 CSS 属性例如color.py/color.tcss演示color属性的三种写法border.py/border.tcss演示border的边框样式组合。文件命名即主题align、background、border、grid、padding、margin、width、height、opacity、text_style、scrollbars、layout、dock、visibility等覆盖 Textual CSS 的绝大部分样式能力。快速上手用 textual CLI 运行示例README 给出的运行方式是使用 Textual 自带的 CLI 命令。以text_style示例为例textual run text_style.py命令会在当前终端直接启动该示例应用运行效果即为文档中对应样式说明的截图内容。执行命令前需先安装 Textual本仓库使用 Poetry/uv 管理见 pyproject.toml并进入docs/examples/styles/目录。textual run还有两个对样式调试极其有用的开关--dev开发模式启用 CSS 热重载。修改.tcss文件后界面即时刷新无需重启应用。src/textual/app.py中App.__init__的watch_css参数注释明确指出如果你使用带 dev 开关的textual run该参数会被自动设置见 src/textual/app.py。docs/guide/CSS.md 也推荐用它进行样式实时迭代无需重启应用即可反复调整设计让界面设计更快更轻松。--screenshot N在应用运行 N 秒后导出当前界面为 SVG 截图例如textual run text_style.py --screenshot 5。这正是文档截图与快照测试的工作方式参见 docs/blog/posts/release0-11-0.md。每个示例应用也都保留了if __name__ __main__: app.run()入口因此同样可以python text_style.py直接运行两者等价。示例的通用代码骨架浏览任意一组示例即可发现高度统一的四步结构以text_style.py为例见 docs/examples/styles/text_style.pyfrom textual.app import App from textual.widgets import Label TEXT I must not fear. Fear is the mind-killer. ... class TextStyleApp(App): CSS_PATH text_style.tcss # 1. 绑定配套样式表 def compose(self): # 2. 组装界面组件 yield Label(TEXT, idlbl1) yield Label(TEXT, idlbl2) yield Label(TEXT, idlbl3) if __name__ __main__: app TextStyleApp() # 3. 实例化 app.run() # 4. 启动事件循环要点CSS_PATH类变量指向与 Python 文件同目录的.tcss文件App启动时自动加载将其改为列表即可加载多个样式文件见 docs/guide/CSS.md。多数示例还直接用id选择器如#lbl1精确控制单个组件。compose()以生成器方式 yield 组件是 Textual 声明式组装的标配示例常用Label/Static承载文字用Container组织嵌套布局如dock_all.py用Widget充当纯色占位如width.py、height.py。每个示例都可独立运行无外部依赖适合逐个运行对照文档学习。按样式主题分类解读示例72 组示例可按功能归纳为九大类下面结合具体文件说明每一类的演示内容均位于 docs/examples/styles/。颜色与背景color.py/color.tcss演示color属性的三种取值写法——命名色red、RGB 函数rgb(0, 255, 0)、HSL 函数hsl(240, 100%, 50%)。background.py、background_tint.py、background_transparency.py演示background的色值与透明度组合。background_transparency.tcss用#t10 { background: red 10% }到#t100共 10 档直观展示百分比透明度对背景色的影响。opacity.py五个标签分别设置opacity: 0% / 25% / 50% / 75% / 100%对比整体透明度差异。tint.py、text_opacity.py分别演示tint叠加色调与文字透明度。这些示例同时也印证了颜色语法与 docs/styles/color.md 等文档页一一对应可以作为颜色取值的活字典。边框、轮廓与装饰线border.py/border.tcss三种边框组合——solid red、dashed green、tall blue展示样式实线/虚线/加高与颜色的二元写法配套 CSS 还用到box-sizing: border-box保证边框不撑破布局。border_all.py分别设置border-top、border-right、border-bottom、border-left的单边写法。border_title_align.py、border_title_colors.py、border_subtitle_align.py等演示border-title、border-subtitle的对齐与着色。outline.py、outline_all.py、outline_vs_border.pyoutline_vs_border.tcss用.outline { outline: $error round }与.border { border: $success heavy }直观对比轮廓不占布局空间、边框占空间的本质区别并示范了$error、$success这类主题变量写法。keyline.py、keyline_horizontal.py、hatch.pykeyline分隔线与hatch剖面填充图案。盒模型padding / margin / box-sizingpadding.py/padding.tcsspadding: 4 8两值写法上下 4、左右 8背景半透明blue 20%便于观察内边距区域。margin.py/margin.tcssmargin: 4 8配合border: blue wide可清晰看出外边距与边框的间距。box_sizing.py/box_sizing.tcss同一尺寸下对比border-box宽高含边框内边距与content-box宽高仅指内容区是避免布局溢出的关键概念。尺寸width / height / min / maxwidth.py/width.tcss、width_comparison.pywidth: 50%等百分比取值以及1fr比例分配。height.py、height_comparison.py垂直方向的百分比与 fr 取值。min_width.py、min_height.py、max_width.py、max_height.py最小/最大约束对弹性布局的影响。对齐与定位align.py/align.tcssalign: center middle双值写法同时给出align-horizontal/align-vertical的单轴写法。content_align.py/content_align.tcsscontent-align: left top、content-align-horizontal: center等控制容器内子组件内容的位置。position.py/position.tcssposition: absolute与position: relative配合offset: 2 1的差异对比。布局layout / grid / docklayout.py/layout.tcss两个容器分别设置layout: vertical与layout: horizontal观察子组件排布方向。grid.py/grid.tcss演示layout: grid的完整声明——grid-size: 3 4、grid-rows: 1fr、grid-columns: 1fr、grid-gutter: 1以及单元格跨行跨列row-span: 3、column-span: 2另有grid_columns.py、grid_rows.py、grid_gutter.py、column_span.py、row_span.py等细分示例。dock_all.py/dock_all.tcss四个子容器分别dock: left / top / right / bottom配合height: 100%、width: auto与align-vertical: middle形成典型应用布局骨架。文本样式text_style.py/text_style.tcssREADME 指定的入门示例三个标签分别设置text-style: bold、italic、reverse配background: red 30%等半透明底色text_style_all.py则覆盖更多风格组合。text_align.pytext-align的left / center / right。text_wrap.py/text_wrap.tcsstext-wrap: wrap默认与nowrap的对比。text_overflow.py超出容器时的截断策略。滚动条scrollbars.py、scrollbars2.pyscrollbar-background、scrollbar-background-active、scrollbar-background-hover、scrollbar-color、scrollbar-color-active、scrollbar-color-hover全套滚动条配色见scrollbars2.tcss。scrollbar_size.py、scrollbar_size2.py滚动条粗细。scrollbar_visibility.tcssvisible默认与hidden的对比注释# The default明确标注了默认值。scrollbar_gutter.py、scrollbar_corner_color.py滚动条占位槽与角落颜色。可见性与溢出visibility.py/visibility.tcssvisibility: hidden隐藏组件Label.invisible类选择器写法visibility_containers.py演示容器级的隐藏传递。display.pydisplay: none与block的切换。overflow.py/overflow.tcssoverflow-y: hidden关闭垂直滚动与默认滚动行为对比overflow相关变化还由 tests/test_overflow_change.py 等测试用例覆盖验证。示例与文档、测试的关系理解这套示例的三个身份有助于高效使用文档配图源docs/styles/下每个样式页如 docs/styles/border.md、docs/styles/grid/的示例截图均由本目录对应文件生成看到文档配图想复现效果直接运行对应示例即可。快照测试底座测试目录 tests/snapshot_tests/ 的快照应用与示例同源同构tests/snapshot_tests/__snapshots__/下 448 个 SVG 快照记录了各样式在不同环境下的渲染结果可作为样式应该长什么样的权威参照。样式调试沙盒由于每个示例都是最小可运行应用改动其中的.tcss再配textual run xxx.py --dev热重载即可零成本验证任意样式属性的取值效果是排查样式问题的最佳试验场。结语docs/examples/styles/与其 README 虽然只给了三行运行说明背后却是完整的 Textual CSS 可运行示例库。以textual run为入口、以py tcss配对为单元你可以逐类运行、对照文档、自由改动把每个样式属性的取值范围和视觉差异彻底吃透——这正是这套示例最实用的价值所在。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/9/19 2:53:20

AMEsim电机驱动库建模指南:PMSM驱动系统仿真与PI参数整定

简介:AMESim电机驱动库是面向电机驱动系统仿真与设计的一份技术文档,适合从事电机驱动研发、控制系统验证的工程师及高校相关专业学生阅读。文档系统介绍了LMS IMAGINE S.A.开发的Electric Motors and Drives Library(Rev 9, 2009&#xff09…

2026/9/19 2:53:20

在线迭代RLHF:DPO驱动的实时反馈训练范式

1. 这不是“复现官方代码”,而是重构训练范式:在线迭代RLHF到底在解决什么真问题?你有没有试过跑通一个标准的RLHF pipeline——先训奖励模型(RM),再用PPO优化策略模型(Policy)&…

2026/9/19 2:53:20

企业级APP广告变现渠道怎么选?从eCPM到聚合平台的实战指南

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

2026/9/19 5:18:50

Agent Skills实战:多平台订单自动化处理完整方案

干了几年跨境电商运营,最让我崩溃的事情不是选品没爆单,而是每天早上一睁眼要在 Shopee、亚马逊、TikTok Shop 三个后台来回切换,手动导出订单、核库存、查漏发货。有一次刚好赶上大促后的退货潮,TikTok Shop 那边有两笔待发货订单…

2026/9/19 5:18:50

基于BP神经网络的象征价值指标体系构建与权重分析方法

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

2026/9/19 5:18:50

SVM支持向量机原理详解:从间隔最大化到核函数与软间隔

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

2026/9/19 5:18:50

RIFE实时插帧实战:4K视频低延迟插帧工程指南

1. 项目概述:为什么RIFE插帧在4K视频场景下既诱人又棘手“RIFE实战”这四个字背后,藏着一个让很多视频工程师深夜挠头的现实矛盾:我们手上有4K素材,想靠AI插帧把24fps拉到60fps甚至120fps,让慢动作更丝滑、老片修复更自…

2026/9/18 14:13:01

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/19 0:03:10

验证 OpenSpec 兼容性,Cursor 的 Token 从 TaoToken 出

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

2026/9/19 0:03:10

书桌角落的 Mac mini,OpenClaw 通过 TaoToken 跑任务。

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

2026/9/19 0:03:10

oh-my-hermes:打造跨工具的命令编排与插件化工作流

1. 项目概述与设计初衷1.1 它到底是什么先说结论:oh-my-hermes 是一个面向开发者日常终端操作的效率工具套件,核心定位是“把分散在各类命令行工具里的高频操作,统一收拢成一套插件化、可编排的工作流”。项目灵感来源很明显——oh-my-zsh 重…

2026/9/18 14:13:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/18 14:13:02

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/18 14:13:02

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码