百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

ttkbootstrap

> 数据库
开源

Tkinter 的现代主题。 采用 Bootstrap 为灵感的时尚、响应式样式。 包括即用型小组件、30 多个主题以及用于构建美观、跨平台的应用程序的工具。

2.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Tkinter 的现代主题。 采用 Bootstrap 为灵感的时尚、响应式样式。 包括即用型小组件、30 多个主题以及用于构建美观、跨平台的应用程序的工具。

ttkbootstrap

Modern, themed tkinter — style any ttk widget with one keyword.

ttkbootstrap is a theming extension for tkinter. It generates flat, Bootstrap-inspired light and dark themes on demand and adds a single bootstyle keyword to every ttk widget, so you describe intent — "primary", "success", "outline" — instead of hand-tuning colors or long ttk style names.

Why ttkbootstrap

  • 30 curated themes — fifteen families, each in a coordinated light and dark variant, that switch at runtime.
  • ⌨️ One-keyword styling — bootstyle="success", bootstyle="info outline", bootstyle="round toggle". The same keyword means the same thing on every widget.
  • Batteries-included — styled ttk widgets plus a few extras (Meter, DateEntry, Floodgauge, Tableview) and fully themed dialogs.
  • ️ Your own themes & styles — a declarative Theme(...) API and a public toolkit for building custom widget styles.
  • Pure Python — one dependency (Pillow), Python 3.10+, no native extensions.

It's a styling layer for vanilla tkinter, not a new framework: the widgets stay tkinter's, and everything you already know about tkinter still applies.

Install

python -m pip install ttkbootstrap

Then see it running — this opens a window with every widget and a theme picker:

ttkb demo

Quickstart

import ttkbootstrap as ttk

app = ttk.App(title="Hello")

ttk.Label(app, text="Hello from ttkbootstrap!").pack(padx=16, pady=(16, 8))
ttk.Button(app, text="Primary", bootstyle="primary").pack(padx=16, pady=4)
ttk.Button(app, text="Success", bootstyle="success").pack(padx=16, pady=4)
ttk.Button(app, text="Danger Outline", bootstyle="danger outline").pack(padx=16, pady=(4, 16))

app.mainloop()

The bootstyle keyword

A bootstyle value is a small grammar — a color, plus an optional modifier and widget type — and the same keyword carries the same meaning across widgets:

ttk.Button(app, bootstyle="success")
ttk.Progressbar(app, bootstyle="success")
ttk.Entry(app, bootstyle="success")

Add a modifier or a type for variants: "info outline", "success round toggle", "warning striped". The vocabulary is closed, so a typo fails loudly instead of silently doing nothing. See the bootstyle grammar for the full reference.

Themes

Thirty curated light and dark themes, switchable at runtime:

app.theme_use("bootstrap-dark")   # any theme by name
app.toggle_theme()                # flip light <-> dark

Browse them in the themes gallery.

Design your own with the bundled editor — pick colors, preview them on live widgets, and export a Theme(...) snippet for your app:

ttkb creator

Command line

Installing ttkbootstrap installs ttkb:

Command What it does
ttkb version Print the installed version
ttkb demo Open the widget demo
ttkb convert-theme <file> Convert a 1.x theme file to the 2.x Theme(...) form
ttkb creator Open ttkcreator, the theme designer

See the command-line reference.

Documentation

  • Documentation — guides, the widget catalog, and the API reference.
  • Build your first app — a step-by-step walkthrough.
  • Migrating to 2.0 — upgrading from 1.x.
  • Release notes — what changed in each version.

Upgrading from 1.x

2.0 is a cleanup-and-consolidation release with some breaking changes — a canonical bootstyle grammar, a new theme catalog, and App alongside Window. Most code keeps working: legacy theme names and older spellings are accepted with a deprecation warning. The Migrating to 2.0 guide sorts every change into breaking / deprecated / notable / new.

Custom themes moved out of the package and into your own code. To bring one forward, convert the file 1.x saved:

ttkb convert-theme user.py -o brand.py

Icons

ttkbootstrap ships with the full Bootstrap Icons set (2,000+ glyphs), rendered from a bundled font — theme-following, crisp at any size, and no extra dependency. Add one with the icon= keyword:

ttk.Button(app, text="Settings", icon="gear-fill", bootstyle="primary")

Need other icon families — Font Awesome, Material, Lucide, and more? The tkinter-icons extension adds sixteen icon sets (61,000+ icons) alongside the built-in set.

Contributing

Contributions are welcome — please check out our contributing guidelines.

Support

This project is proudly developed with the support of the PyCharm IDE, generously provided by JetBrains.

© 2025 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Pythonbootstrapcross-platformguimodern-ui

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类数据库
定价开源

> 相关工具

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库