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/activate2. 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). |
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.