ttkbootstrap


Namettkbootstrap JSON
Version 1.14.1 PyPI version JSON
download
home_pageNone
SummaryA supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.
upload_time2025-07-19 18:35:40
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords tkinter theme ttk bootstrap gui desktop python3 ui widgets theming cross-platform modern responsive python-gui
VCS
bugtrack_url
requirements mkdocs mkdocs-material mkdocs-static-i18n mkdocs-autorefs mkdocstrings pymdown-extensions Pillow
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![](https://img.shields.io/github/release/israel-dryer/ttkbootstrap.svg)
[![Downloads](https://pepy.tech/badge/ttkbootstrap)](https://pepy.tech/project/ttkbootstrap)
[![Downloads](https://pepy.tech/badge/ttkbootstrap/month)](https://pepy.tech/project/ttkbootstrap)
![](https://img.shields.io/github/issues/israel-dryer/ttkbootstrap.svg)
![](https://img.shields.io/github/issues-closed/israel-dryer/ttkbootstrap.svg)
![](https://img.shields.io/github/license/israel-dryer/ttkbootstrap.svg)
![](https://img.shields.io/github/stars/israel-dryer/ttkbootstrap.svg)
![](https://img.shields.io/github/forks/israel-dryer/ttkbootstrap.svg)

# ttkbootstrap
English | [δΈ­ζ–‡](README_zh.md)

ttkbootstrap is a Python library that enhances tkinter by providing modern, flat-style themes inspired by Bootstrap. Easily create stylish GUI applications with built-in themes, pre-defined widget styles, and more.

## Documentation
πŸ‘€ Check out the [documentation](https://ttkbootstrap.readthedocs.io/en/latest/).


![](https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/assets/themes/themes.gif)

## Features

βœ”οΈ [**Built-in Themes**](https://ttkbootstrap.readthedocs.io/en/latest/themes/)   
Over a dozen curated dark and light themes.

βœ”οΈ [**Pre-defined Styles:**](https://ttkbootstrap.readthedocs.io/en/latest/styleguide/)  
Loads of beautiful pre-defined widget styles such as **outline** and **round toggle** buttons.

βœ”οΈ [**Simple keyword API:**](https://ttkbootstrap.readthedocs.io/en/latest/gettingstarted/tutorial/#use-themed-widgets)  
Apply colors and types using simple keywords such as **primary** and **striped** instead of the legacy approach of **primary.Striped.Horizontal.TProgressbar**. If you've used Bootstrap for web development, you are already familiar with this approach using css classes.

βœ”οΈ [**Lots of new Widgets:**](https://ttkbootstrap.readthedocs.io/en/latest/api/widgets/dateentry/)  
ttkbootstrap comes with several new beautifully designed widgets such as **Meter**, **DateEntry**, and **Floodgauge**. Additionally, **dialogs** are now themed and fully customizable.

βœ”οΈ [**Built-in Theme Creator:**](https://ttkbootstrap.readthedocs.io/en/latest/themes/themecreator/)  
Want to create your own theme? Easy! ttkboostrap includes a built-in **theme creator** that enables you to easily build, load, expore, and apply your own custom themes.

## Installation
Install ttkbootstrap using pip in the terminal/command prompt!

```python
python -m pip install ttkbootstrap
```

## Simple Usage
Instead of using long, complicated ttk style classes, you can use simple keywords with the "bootstyle" parameter.

To get started, add the import statement at the top of your file in your preferred IDE:
```python
import ttkbootstrap as ttk
```

Then create a window using the ttk.Window(...) and .mainloop() commands.
And add a couple buttons (b1 and b2) to create your first window!
```python
root = ttk.Window(themename="superhero")

b1 = ttk.Button(root, text="Submit", bootstyle="success")
b1.pack(side=LEFT, padx=5, pady=10)

b2 = ttk.Button(root, text="Submit", bootstyle="info-outline")
b2.pack(side=LEFT, padx=5, pady=10)

root.mainloop()
```
Here is the desired result:


![Here is the result of the code used above:](beginningresult.png)

For more detailed usage, please refer to the [**Getting Started page**](https://ttkbootstrap.readthedocs.io/en/latest/gettingstarted/tutorial/)
This page includes creating buttons, adding widgets, different styles and more. 

The new keyword API is very flexible. The following examples all produce the same result:
- `bootstyle="info-outline"`
- `bootstyle="info outline"`
- `bootstyle=("info", "outline")`
- `bootstyle=(INFO, OUTLINE)`

## Contributing
We welcome contributions! If you'd like to contribute to ttkbootstrap, please check out our contributing guidelines.

## Links
- **Documentation:** https://ttkbootstrap.readthedocs.io/en/latest/  
- **GitHub:** https://github.com/israel-dryer/ttkbootstrap

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ttkbootstrap",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "tkinter, theme, ttk, bootstrap, gui, desktop, python3, ui, widgets, theming, cross-platform, modern, responsive, python-gui",
    "author": null,
    "author_email": "Israel Dryer <israel.dryer@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/26/9c/86b7f6a0fdeabe8eb09a2f7e39f5c393f7ef900bda2ea15e3671f0c7ce44/ttkbootstrap-1.14.1.tar.gz",
    "platform": null,
    "description": "![](https://img.shields.io/github/release/israel-dryer/ttkbootstrap.svg)\r\n[![Downloads](https://pepy.tech/badge/ttkbootstrap)](https://pepy.tech/project/ttkbootstrap)\r\n[![Downloads](https://pepy.tech/badge/ttkbootstrap/month)](https://pepy.tech/project/ttkbootstrap)\r\n![](https://img.shields.io/github/issues/israel-dryer/ttkbootstrap.svg)\r\n![](https://img.shields.io/github/issues-closed/israel-dryer/ttkbootstrap.svg)\r\n![](https://img.shields.io/github/license/israel-dryer/ttkbootstrap.svg)\r\n![](https://img.shields.io/github/stars/israel-dryer/ttkbootstrap.svg)\r\n![](https://img.shields.io/github/forks/israel-dryer/ttkbootstrap.svg)\r\n\r\n# ttkbootstrap\r\nEnglish | [\u4e2d\u6587](README_zh.md)\r\n\r\nttkbootstrap is a Python library that enhances tkinter by providing modern, flat-style themes inspired by Bootstrap. Easily create stylish GUI applications with built-in themes, pre-defined widget styles, and more.\r\n\r\n## Documentation\r\n\ud83d\udc40 Check out the [documentation](https://ttkbootstrap.readthedocs.io/en/latest/).\r\n\r\n\r\n![](https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/assets/themes/themes.gif)\r\n\r\n## Features\r\n\r\n\u2714\ufe0f [**Built-in Themes**](https://ttkbootstrap.readthedocs.io/en/latest/themes/)   \r\nOver a dozen curated dark and light themes.\r\n\r\n\u2714\ufe0f [**Pre-defined Styles:**](https://ttkbootstrap.readthedocs.io/en/latest/styleguide/)  \r\nLoads of beautiful pre-defined widget styles such as **outline** and **round toggle** buttons.\r\n\r\n\u2714\ufe0f [**Simple keyword API:**](https://ttkbootstrap.readthedocs.io/en/latest/gettingstarted/tutorial/#use-themed-widgets)  \r\nApply colors and types using simple keywords such as **primary** and **striped** instead of the legacy approach of **primary.Striped.Horizontal.TProgressbar**. If you've used Bootstrap for web development, you are already familiar with this approach using css classes.\r\n\r\n\u2714\ufe0f [**Lots of new Widgets:**](https://ttkbootstrap.readthedocs.io/en/latest/api/widgets/dateentry/)  \r\nttkbootstrap comes with several new beautifully designed widgets such as **Meter**, **DateEntry**, and **Floodgauge**. Additionally, **dialogs** are now themed and fully customizable.\r\n\r\n\u2714\ufe0f [**Built-in Theme Creator:**](https://ttkbootstrap.readthedocs.io/en/latest/themes/themecreator/)  \r\nWant to create your own theme? Easy! ttkboostrap includes a built-in **theme creator** that enables you to easily build, load, expore, and apply your own custom themes.\r\n\r\n## Installation\r\nInstall ttkbootstrap using pip in the terminal/command prompt!\r\n\r\n```python\r\npython -m pip install ttkbootstrap\r\n```\r\n\r\n## Simple Usage\r\nInstead of using long, complicated ttk style classes, you can use simple keywords with the \"bootstyle\" parameter.\r\n\r\nTo get started, add the import statement at the top of your file in your preferred IDE:\r\n```python\r\nimport ttkbootstrap as ttk\r\n```\r\n\r\nThen create a window using the ttk.Window(...) and .mainloop() commands.\r\nAnd add a couple buttons (b1 and b2) to create your first window!\r\n```python\r\nroot = ttk.Window(themename=\"superhero\")\r\n\r\nb1 = ttk.Button(root, text=\"Submit\", bootstyle=\"success\")\r\nb1.pack(side=LEFT, padx=5, pady=10)\r\n\r\nb2 = ttk.Button(root, text=\"Submit\", bootstyle=\"info-outline\")\r\nb2.pack(side=LEFT, padx=5, pady=10)\r\n\r\nroot.mainloop()\r\n```\r\nHere is the desired result:\r\n\r\n\r\n![Here is the result of the code used above:](beginningresult.png)\r\n\r\nFor more detailed usage, please refer to the [**Getting Started page**](https://ttkbootstrap.readthedocs.io/en/latest/gettingstarted/tutorial/)\r\nThis page includes creating buttons, adding widgets, different styles and more. \r\n\r\nThe new keyword API is very flexible. The following examples all produce the same result:\r\n- `bootstyle=\"info-outline\"`\r\n- `bootstyle=\"info outline\"`\r\n- `bootstyle=(\"info\", \"outline\")`\r\n- `bootstyle=(INFO, OUTLINE)`\r\n\r\n## Contributing\r\nWe welcome contributions! If you'd like to contribute to ttkbootstrap, please check out our contributing guidelines.\r\n\r\n## Links\r\n- **Documentation:** https://ttkbootstrap.readthedocs.io/en/latest/  \r\n- **GitHub:** https://github.com/israel-dryer/ttkbootstrap\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.",
    "version": "1.14.1",
    "project_urls": {
        "Documentation": "https://ttkbootstrap.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/israel-dryer/ttkbootstrap"
    },
    "split_keywords": [
        "tkinter",
        " theme",
        " ttk",
        " bootstrap",
        " gui",
        " desktop",
        " python3",
        " ui",
        " widgets",
        " theming",
        " cross-platform",
        " modern",
        " responsive",
        " python-gui"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6573c16437ff779c47968a7f6c06aaa7a44c79110d0f779a97c1f0d31a03eb13",
                "md5": "8233e7006d8483891de6c0361f3ed5ad",
                "sha256": "c7bf76613994056f559f9412931b060cd7c1899302453be625f9b2883ff8d8cc"
            },
            "downloads": -1,
            "filename": "ttkbootstrap-1.14.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8233e7006d8483891de6c0361f3ed5ad",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 152717,
            "upload_time": "2025-07-19T18:35:38",
            "upload_time_iso_8601": "2025-07-19T18:35:38.879839Z",
            "url": "https://files.pythonhosted.org/packages/65/73/c16437ff779c47968a7f6c06aaa7a44c79110d0f779a97c1f0d31a03eb13/ttkbootstrap-1.14.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "269c86b7f6a0fdeabe8eb09a2f7e39f5c393f7ef900bda2ea15e3671f0c7ce44",
                "md5": "0cbff70af5702b29af9edf15b60a02d8",
                "sha256": "0547301d1f3d971be44027902bcb868c0d358eca70e320147edbe2c829d8fab8"
            },
            "downloads": -1,
            "filename": "ttkbootstrap-1.14.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0cbff70af5702b29af9edf15b60a02d8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 144300,
            "upload_time": "2025-07-19T18:35:40",
            "upload_time_iso_8601": "2025-07-19T18:35:40.341235Z",
            "url": "https://files.pythonhosted.org/packages/26/9c/86b7f6a0fdeabe8eb09a2f7e39f5c393f7ef900bda2ea15e3671f0c7ce44/ttkbootstrap-1.14.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-19 18:35:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "israel-dryer",
    "github_project": "ttkbootstrap",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "mkdocs",
            "specs": [
                [
                    "<",
                    "2.0"
                ],
                [
                    ">=",
                    "1.5"
                ]
            ]
        },
        {
            "name": "mkdocs-material",
            "specs": [
                [
                    "==",
                    "9.6.14"
                ]
            ]
        },
        {
            "name": "mkdocs-static-i18n",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "mkdocs-autorefs",
            "specs": [
                [
                    ">=",
                    "1.0"
                ]
            ]
        },
        {
            "name": "mkdocstrings",
            "specs": [
                [
                    ">=",
                    "0.24"
                ]
            ]
        },
        {
            "name": "pymdown-extensions",
            "specs": [
                [
                    ">=",
                    "10.0"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    ">=",
                    "10.3.0"
                ],
                [
                    "<",
                    "11"
                ]
            ]
        }
    ],
    "lcname": "ttkbootstrap"
}
        
Elapsed time: 1.49096s