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),仅供参考

相关新闻

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

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

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

2026/9/19 2:53:05 阅读更多 →
搞定wordpress跳出循环难题,源码下载避坑指南

搞定wordpress跳出循环难题,源码下载避坑指南

搞定wordpress跳出循环难题,源码下载避坑指南 域名解析指向不对,服务器端口没开对,这俩坑能把人逼疯。很多刚接手网站的朋友,一看到 WordPress…

2026/9/19 2:52:40 阅读更多 →
Unity中USD场景导入与工业级协作实战指南

Unity中USD场景导入与工业级协作实战指南

1. 项目定位:当Unity遇上USD,工业协作的底层逻辑工业数字孪生项目里,我经常被问到同一个问题:场景数据这么多,从Maya、CATIA、Revit或Houdini里导过来,怎么在Unity里保持结构不散、材质不乱、坐标不飘&…

2026/9/19 2:52:05 阅读更多 →

最新新闻

深度学习理论书怎么读?从CNN到扩散模型的翻译版精读与代码复现指南

深度学习理论书怎么读?从CNN到扩散模型的翻译版精读与代码复现指南

1. 为什么一本"翻译版"值得单独拿出来聊深度学习这个领域,英文原版书其实不少,从花书到鱼书,从理论到实战,各有各的定位。但真正能把"数学推导"和"工程直觉"这两件事同时讲清楚的书,说实…

2026/9/19 3:29:31 阅读更多 →
标签品种识别与包装防错:工业视觉系统的实战落地逻辑

标签品种识别与包装防错:工业视觉系统的实战落地逻辑

1. 项目概述:标签品种识别与包装防错不是“加个摄像头就完事”的表面功夫“标签品种识别与包装防错”这八个字,听起来像工厂里一句再普通不过的流程要求,但在我跑过三十多家食品、药品、日化和工业耗材企业的产线后,发现真正能把这…

2026/9/19 3:29:31 阅读更多 →
腾讯云AIGC全链路实战:AI短漫剧如何实现产能跃升与角色一致性

腾讯云AIGC全链路实战:AI短漫剧如何实现产能跃升与角色一致性

做短漫剧的朋友应该都有同感:这个赛道现在最大的矛盾不是内容创意,而是产量跟不上市场胃口。一部AI短漫剧动辄几十上百集,单集镜头数又不动画剧那么多,传统人工制作一集光是分镜和上色就要好几个小时,按这个速度&#…

2026/9/19 3:29:31 阅读更多 →
Web音视频同步:AudioContext门控暂停恢复方案

Web音视频同步:AudioContext门控暂停恢复方案

做流式音视频播放,只要是自定义渲染管线,早晚会遇到同一个问题:声音和画面在对表的时候,总有一方不讲武德。普通场景下 video 元素自带一套同步逻辑,够用;但一旦你为了低延迟、多轨合成或者自定义渲染去碰 …

2026/9/19 3:29:31 阅读更多 →
Materials Studio 2020 Linux安装排错指南:从依赖库到License与Gateway

Materials Studio 2020 Linux安装排错指南:从依赖库到License与Gateway

/* 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 3:29:31 阅读更多 →
华为ICT云赛道云存储试题解析:从存储基础到OceanStor全闪存

华为ICT云赛道云存储试题解析:从存储基础到OceanStor全闪存

简介:面向华为ICT大赛云赛道与HCIA-Storage认证考生的云存储试题资料,紧扣云存储与存储技术考点,覆盖数据类型(结构化、半结构化、非结构化)、块/文件/对象存储、云存储特点、存储网络协议(FC拓扑、CIFS交互…

2026/9/19 3:28:30 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介:面向机器学习、深度学习与数据建模学习者的一份完整研究文献,聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本,系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程,展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型,在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志,发现loss从凌晨两点就开始往上爬,一路从0.8涨到1.35,整整六个小时没人发现。那六个小时的训练不仅白跑,还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →