A tkinter toggle widget is a reusable UI component that lets users instantly switch between two states (like On/Off) by dynamically updating the UI and executing code upon interaction.
It is recommended to install Python packages inside a virtual environment to prevent dependency conflicts.
1. Create and activate a virtual environment (Optional but recommended):
# On Windows python -m venv venv venv\Scripts\activate # On macOS/Linux python3 -m venv venv source venv/bin/activate
2. Install the package:
pip install tkinter-toggle
Import the toggle widget and attach it to your Tkinter window. Don't forget to call .pack(), .grid(), or .place() to display it!
import tkinter as tk from tkinter_toggle import tkToggle def on_click(event): print(event.value) root = tk.Tk() # Create the instance toggle = tkToggle(root, default=False, size=30, bg="red", command=on_click) # Show the toggle widget on the window toggle.pack() root.mainloop()
When initializing tkToggle(master, ...), you can pass several optional arguments to customize its behavior and appearance.
| Argument | Type | Default | Optional | Description |
|---|---|---|---|---|
default |
bool |
False |
Yes | The initial state or value of the toggle widget. |
size |
int |
20 |
Yes | The dimensions (width/height) of the widget. |
bg |
str |
"#0000ff" |
Yes | Background color (hex code or Tkinter color name). |
fg |
str |
"#ffffff" |
Yes | Thumb color (hex code or Tkinter color name). |
off_bg |
str |
"#aaaaaa" |
Yes | Toggle off background color (hex code or Tkinter color name). |
off_fg |
str |
same as fg |
Yes | Toggle off Thumb color (hex code or Tkinter color name). |
command |
Callable |
"" |
Yes | Function to execute when the user interacted with toggle widget. |
Note: The first argument must always be the parent window or frame (master).
Once initialized, you can interact with the widget programmatically using its built-in methods:
set_value(value: bool): Updates the current state of the toggle widget to the given boolean value.get_value() -> bool: Returns the current state of the toggle widget.toggle(): Reverse the current state of the toggle widget.config(bg: String = None, size: int = None, command: Callable = None): Modify size, background or command (function to invoke when the widget action occurs) of the toggle widget.
Here is a complete working example. You can also view this code directly in the repository at tests/example.py.
import tkinter as tk from tkinter_toggle import tkToggle def on_click(event): print(event.value) # Initialize the main window root = tk.Tk() root.geometry("300x200+100+100") root.title("Toggle Demo") # Create and configure the widget toggle = tkToggle( root, default=False, size=30, bg="green", command=on_click ) # Display the toggle widget toggle.pack(pady=20) # Modify the value programmatically toggle.toggle() # Configure this toggle widget toggle.config(bg="blue", size=50) # Run the application root.mainloop()
The official package registry, release history, and download statistics are available on the Python Package Index (PyPI):
https://pypi.org/project/tkinter-toggle/
This project is licensed under the GNU Lesser General Public License (LGPL). See the COPYING.LESSER and COPYING files for full details.