The Scale widget in Tkinter provides a graphical slider that allows users to select a value from a range by sliding a handle. It’s a useful widget for scenarios where a range of numeric values is needed, such as adjusting volume, brightness, or any other adjustable parameter.
w = Scale(parent, options)
• parent: The parent widget in which the Scale is placed (like a window or frame).
• options: Various options to configure the Scale widget, listed below.
| SN | Option | Description |
|---|---|---|
| 1 | activebackground | Background color of the widget when it has focus. |
| 2 | bg | Background color of the widget. |
| 3 | bd | Border size of the widget (default is 2 pixels). |
| 4 | command | Procedure called each time the slider is moved. |
| 5 | cursor | Mouse pointer type when hovering over the widget (e.g., arrow, dot). |
| 6 | digits | Number of digits displayed if the control variable is a string type. |
| 7 | font | Font type of the text displayed with the Scale. |
| 8 | fg | Foreground color of the text. |
| 9 | from_ | Represents one end of the range of the scale. |
| 10 | highlightbackground | Highlight color when the widget does not have focus. |
| 11 | highlightcolor | Highlight color when the widget has focus. |
| 12 | label | Text label displayed with the Scale (top-left for horizontal, top-right for vertical). |
| 13 | length | Length of the Scale widget. X dimension for horizontal, Y dimension for vertical. |
| 14 | orient | Orientation of the Scale (horizontal or vertical). |
| 15 | relief | Border type (e.g., FLAT, RAISED). |
| 16 | repeatdelay | Duration before the slider starts moving repeatedly when the button is pressed (default is 300 ms). |
| 17 | resolution | Smallest change in value that can be made (e.g., 0.1 for precision). |
| 18 | showvalue | Whether to display the value of the Scale (1 for showing, 0 for hiding). |
| 19 | sliderlength | Length of the slider handle (default is 30 pixels). |
| 20 | state | Widget state (NORMAL or DISABLED). |
| 21 | takefocus | Whether the widget should be part of the focus cycle (default is 1). |
| 22 | tickinterval | Interval between tick marks on the Scale. |
| 23 | to | Represents the other end of the range of the Scale. |
| 24 | troughcolor | Color of the trough (the background area where the slider moves). |
| 25 | variable | Control variable associated with the Scale. |
| 26 | width | Width of the trough part of the widget. |
| SN | Method | Description |
|---|---|---|
| 1 | get() | Returns the current value of the Scale. |
| 2 | set(value) | Sets the Scale to a specific value. |
from tkinter import *
# Create the main window
root = Tk()
root.title("Scale Example")
# Function to display the current value of the scale
def display_value(value):
print(f"Current Value: {value}")
# Create a Scale widget
scale = Scale(root, from_=0, to=100, orient=HORIZONTAL, length=300, resolution=1, command=display_value)
scale.pack()
# Run the Tkinter event loop
root.mainloop()
• from_: Specifies the start of the range (0 in this case).
• to: Specifies the end of the range (100 in this case).
• orient: Orientation of the scale (HORIZONTAL or VERTICAL).
• command: A function (display_value) called every time the slider moves, displaying the current value.
This widget is helpful for graphical adjustments where precise value selection is required.