Tkinter is a GUI toolkit used in python to make user-friendly GUIs.Tkinter is the most commonly used and the most basic GUI framework available in python. Tkinter uses an object-oriented approach to make GUIs.
Note: For more information, refer to Python GUI – tkinter
Scale widget
The Scale widget is used whenever we want to select a specific value from a range of values. It provides a sliding bar through which we can select the values by sliding from left to right or top to bottom depending upon the orientation of our sliding bar.
Syntax:
S = Scale(root, bg, fg, bd, command, orient, from_, to, ..)
Optional parameters
- root – root window.
- bg – background colour
- fg – foreground colour
- bd – border
- orient – orientation(vertical or horizontal)
- from_ – starting value
- to – ending value
- troughcolor – set colour for trough.
- state – decides if the widget will be responsive or unresponsive.
- sliderlength – decides the length of the slider.
- label – to display label in the widget.
- highlightbackground – the colour of the focus when widget is not focused.
- cursor – The cursor on the widget which could be arrow, circle, dot etc.
Methods
- set(value) – set the value for scale.
- get() – get the value of scale.
Example 1: Creating a horizontal bar
# Python program to demonstrate # scale widget from tkinter import * root = Tk() root.geometry( "400x300" ) v1 = DoubleVar() def show1(): sel = "Horizontal Scale Value = " + str (v1.get()) l1.config(text = sel, font = ( "Courier" , 14 )) s1 = Scale( root, variable = v1, from_ = 1 , to = 100 , orient = HORIZONTAL) l3 = Label(root, text = "Horizontal Scaler" ) b1 = Button(root, text = "Display Horizontal" , command = show1, bg = "yellow" ) l1 = Label(root) s1.pack(anchor = CENTER) l3.pack() b1.pack(anchor = CENTER) l1.pack() root.mainloop() |
Output:
Example 2: Creating a vertical slider
from tkinter import * root = Tk() root.geometry( "400x300" ) v2 = DoubleVar() def show2(): sel = "Vertical Scale Value = " + str (v2.get()) l2.config(text = sel, font = ( "Courier" , 14 )) s2 = Scale( root, variable = v2, from_ = 50 , to = 1 , orient = VERTICAL) l4 = Label(root, text = "Vertical Scaler" ) b2 = Button(root, text = "Display Vertical" , command = show2, bg = "purple" , fg = "white" ) l2 = Label(root) s2.pack(anchor = CENTER) l4.pack() b2.pack() l2.pack() root.mainloop() |
Output: