Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

Python GUI Programming using Tkinter

The document provides an overview of Python GUI programming using the Tkinter library, detailing how to create a basic application window and add various widgets. It explains three geometry management methods (pack, grid, and place) for organizing widgets, along with examples for each method. Additionally, it covers specific widgets like Button, Entry, and Label, including their syntax and customizable options.

Uploaded by

Avani Joshi
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Python GUI Programming using Tkinter

The document provides an overview of Python GUI programming using the Tkinter library, detailing how to create a basic application window and add various widgets. It explains three geometry management methods (pack, grid, and place) for organizing widgets, along with examples for each method. Additionally, it covers specific widgets like Button, Entry, and Label, including their syntax and customizable options.

Uploaded by

Avani Joshi
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Python GUI Programming using Tkinter

Introduction:
Python provides the standard library Tkinter for creating the graphical user interface for desktop
based applications. Developing desktop based applications with python Tkinter is not a complex
task. An empty Tkinter top-level window can be created by using the following steps.
1. import the Tkinter module.
2. Create the main application window.
3. Add the widgets like labels, buttons, frames, etc. to the window.
4. Call the main event loop so that the actions can take place on the user's computer screen.
Example
# !/usr/bin/python3
from tkinter import *
#creating the application main window.
top = Tk()
#Entering the event main loop
top.mainloop()
Output:

Tkinter widgets:
There are various widgets like button, label,entry, canvas, checkbutton,Radio button, frame etc. that
are used to build the python GUI applications.

Python Tkinter Geometry:


The Tkinter geometry specifies the method by using which, the widgets are represented on display.
The python Tkinter provides the following geometry methods.
1. The pack() method
2. The grid() method
3. The place() method

Python Tkinter pack() method:


The pack() widget is used to organize widget in the block. The positions widgets added to the python
application using the pack() method can be controlled by using the various options specified in the
method call.
However, the controls are less and widgets are generally added in the less organized manner. The
syntax to use the pack() is given below.
Syntax: widget.pack(options)
A list of possible options that can be passed in pack() is given below.
 expand: If the expand is set to true, the widget expands to fill any space.
 Fill: By default, the fill is set to NONE. However, we can set it to X or Y to determine
whether the widget contains any extra space.
 size: it represents the side of the parent to which the widget is to be placed on the
window.

Example
# !/usr/bin/python3
from tkinter import *
parent = Tk()
redbutton = Button(parent, text = "Red", fg = "red")
redbutton.pack( side = LEFT)
greenbutton = Button(parent, text = "Black", fg = "black")
greenbutton.pack( side = RIGHT )
bluebutton = Button(parent, text = "Blue", fg = "blue")
bluebutton.pack( side = TOP )
blackbutton = Button(parent, text = "Green", fg = "red")
blackbutton.pack( side = BOTTOM)
parent.mainloop()
Output:

Python Tkinter grid() method:


The grid() geometry manager organizes the widgets in the tabular form. We can specify the rows
and columns as the options in the method call. We can also specify the column span (width) or
rowspan(height) of a widget.
This is a more organized way to place the widgets to the python application. The syntax to use
the grid() is given below.
Syntax: widget.grid(options)
A list of possible options that can be passed inside the grid() method is given below.
 Column- The column number in which the widget is to be placed. The leftmost column
is represented by 0.
 Columnspan- The width of the widget. It represents the number of columns up to which,
the column is expanded.
 ipadx, ipady- It represents the number of pixels to pad the widget inside the widget's
border.
 padx, pady- It represents the number of pixels to pad the widget outside the widget's
border.
 Row- The row number in which the widget is to be placed. The topmost row is
represented by 0.
 Rowspan- The height of the widget, i.e. the number of the row up to which the widget is
expanded.
 Sticky- If the cell is larger than a widget, then sticky is used to specify the position of the
widget inside the cell. It may be the concatenation of the sticky letters representing the
position of the widget. It may be N, E, W, S, NE, NW, NS, EW, ES.
Example
# !/usr/bin/python3
from tkinter import *
parent = Tk()
name = Label(parent,text = "Name").grid(row = 0, column = 0)
e1 = Entry(parent).grid(row = 0, column = 1)
password = Label(parent,text = "Password").grid(row = 1, column = 0)
e2 = Entry(parent).grid(row = 1, column = 1)
submit = Button(parent, text = "Submit").grid(row = 4, column = 0)
parent.mainloop()
Output:

Python Tkinter place() method:


The place() geometry manager organizes the widgets to the specific x and y coordinates.
Syntax: widget.place(options)
A list of possible options is given below.
 Anchor: It represents the exact position of the widget within the container. The default value
(direction) is NW (the upper left corner)
 bordermode: The default value of the border type is INSIDE that refers to ignore the
parent's inside the border. The other option is OUTSIDE.
 height, width: It refers to the height and width in pixels.
 relheight, relwidth: It is represented as the float between 0.0 and 1.0 indicating the fraction
of the parent's height and width.
 relx, rely: It is represented as the float between 0.0 and 1.0 that is the offset in the horizontal
and vertical direction.
 x, y: It refers to the horizontal and vertical offset in the pixels.
Example
# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("400x250")
name = Label(top, text = "Name").place(x = 30,y = 50)
email = Label(top, text = "Email").place(x = 30, y = 90)
password = Label(top, text = "Password").place(x = 30, y = 130)
e1 = Entry(top).place(x = 80, y = 50)
e2 = Entry(top).place(x = 80, y = 90)
e3 = Entry(top).place(x = 95, y = 130)
top.mainloop()
Output:
Tkinter widgets:
1. Python Tkinter Button:
The button widget is used to add various types of buttons to the python application. Python
allows us to configure the look of the button according to our requirements. Various options
can be set or reset depending upon the requirements. We can also associate a method or
function with a button which is called when the button is pressed. The syntax to use the
button widget is given below.
Syntax: W = Button(parent, options)
A list of possible options is given below.

S Option Description
N
1 activebackground It represents the background of the button when the mouse hover the
button.
2 activeforeground It represents the font color of the button when the mouse hover the button.
3 Bd It represents the border width in pixels.
4 Bg It represents the background color of the button.
5 Command It is set to the function call which is scheduled when the function is
called.
6 Fg Foreground color of the button.
7 Font The font of the button text.
8 Height The height of the button. The height is represented in the number of text
lines for the textual lines or the number of pixels for the images.
10 Highlightcolor The color of the highlight when the button has the focus.
11 Image It is set to the image displayed on the button.
12 justify It illustrates the way by which the multiple text lines are represented. It is
set to LEFT for left justification, RIGHT for the right justification, and
CENTER for the center.
13 Padx Additional padding to the button in the horizontal direction.
14 pady Additional padding to the button in the vertical direction.
15 Relief It represents the type of the border. It can be SUNKEN, RAISED,
GROOVE, and RIDGE.
17 State This option is set to DISABLED to make the button unresponsive. The
ACTIVE represents the active state of the button.
18 Underline Set this option to make the button text underlined.
19 Width The width of the button. It exists as a number of letters for textual buttons
or pixels for image buttons.
20 Wraplength If the value is set to a positive number, the text lines will be wrapped to fit
within this length.

Example
from tkinter import *
top = Tk()
top.geometry("200x100")

def fun():
messagebox.showinfo("Hello", "Red Button clicked")

b1 = Button(top,text = "Red",command = fun,activeforeground = "red",activebackground = "pink",p


ady=10)
b2 = Button(top, text = "Blue",activeforeground = "blue",activebackground = "pink",pady=10)
b3 = Button(top, text = "Green",activeforeground = "green",activebackground = "pink",pady = 10)
b4 = Button(top, text = "Yellow",activeforeground = "yellow",activebackground = "pink",pady = 10
)
b1.pack(side = LEFT)
b2.pack(side = RIGHT)
b3.pack(side = TOP)
b4.pack(side = BOTTOM)
top.mainloop()
Output:

2. Python Tkinter Entry:


The Entry widget is used to provde the single line text-box to the user to accept a value from
the user. We can use the Entry widget to accept the text strings from the user. It can only be
used for one line of text from the user. For multiple lines of text, we must use the text
widget.The syntax to use the Entry widget is given below.
Syntax: w = Entry (parent, options)
A list of possible options is given below.
SN Option Description
1 bg The background color of the widget.
2 bd The border width of the widget in pixels.
3 cursor The mouse pointer will be changed to the cursor type set to the arrow,
dot, etc.
4 exportselection The text written inside the entry box will be automatically copied to
the clipboard by default. We can set the exportselection to 0 to not
copy this.
5 fg It represents the color of the text.
6 font It represents the font type of the text.
7 highlightbackgroun It represents the color to display in the traversal highlight region when
d the widget does not have the input focus.
8 highlightcolor It represents the color to use for the traversal highlight rectangle that is
drawn around the widget when it has the input focus.
9 highlightthickness It represents a non-negative value indicating the width of the highlight
rectangle to draw around the outside of the widget when it has the
input focus.
10 insertbackground It represents the color to use as background in the area covered by the
insertion cursor. This color will normally override either the normal
background for the widget.
11 insertborderwidth It represents a non-negative value indicating the width of the 3-D
border to draw around the insertion cursor. The value may have any of
the forms acceptable to Tk_GetPixels.
12 insertofftime It represents a non-negative integer value indicating the number of
milliseconds the insertion cursor should remain "off" in each blink
cycle. If this option is zero, then the cursor doesn't blink: it is on all the
time.
13 insertontime Specifies a non-negative integer value indicating the number of
milliseconds the insertion cursor should remain "on" in each blink
cycle.
14 insertwidth It represents the value indicating the total width of the insertion cursor.
The value may have any of the forms acceptable to Tk_GetPixels.
15 justify It specifies how the text is organized if the text contains multiple lines.
16 relief It specifies the type of the border. Its default value is FLAT.
17 selectbackground The background color of the selected text.
18 selectborderwidth The width of the border to display around the selected task.
19 selectforeground The font color of the selected task.
20 show It is used to show the entry text of some other type instead of the
string. For example, the password is typed using stars (*).
21 textvariable It is set to the instance of the StringVar to retrieve the text from the
entry.
22 width The width of the displayed text or image.
23 xscrollcommand The entry widget can be linked to the horizontal scrollbar if we want
the user to enter more text then the actual width of the widget.

Example

# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("400x250")
name = Label(top, text = "Name").place(x = 30,y = 50)
email = Label(top, text = "Email").place(x = 30, y = 90)
password = Label(top, text = "Password").place(x = 30, y = 130)
sbmitbtn = Button(top, text = "Submit",activebackground = "pink", activeforeground = "blue").place
(x = 30, y = 170)
e1 = Entry(top).place(x = 80, y = 50)
e2 = Entry(top).place(x = 80, y = 90)
e3 = Entry(top).place(x = 95, y = 130)
top.mainloop()
Output:

Entry widget methods:


Python provides various methods to configure the data written inside the widget. There are the
following methods provided by the Entry widget.
SN Method Description
1 delete(first, last = none) It is used to delete the specified characters inside the widget.
2 get() It is used to get the text written inside the widget.
3 icursor(index) It is used to change the insertion cursor position. We can specify
the index of the character before which, the cursor to be placed.
4 index(index) It is used to place the cursor to the left of the character written at
the specified index.
5 insert(index,s) It is used to insert the specified string before the character
placed at the specified index.
6 select_adjust(index) It includes the selection of the character present at the specified
index.
7 select_clear() It clears the selection if some selection has been done.
8 select_form(index) It sets the anchor index position to the character specified by the
index.
9 select_present() It returns true if some text in the Entry is selected otherwise
returns false.
10 select_range(start,end) It selects the characters to exist between the specified range.
11 select_to(index) It selects all the characters from the beginning to the specified
index.
12 xview(index) It is used to link the entry widget to a horizontal scrollbar.
13 xview_scroll(number,what It is used to make the entry scrollable horizontally.
)
3. Python Tkinter Label:
The Label is used to specify the container box where we can place the text or images. This
widget is used to provide the message to the user about other widgets used in the python
application. There are the various options which can be specified to configure the text or the part
of the text shown in the Label. The syntax to use the Label is given below.
Syntax: w = Label (master, options)
A list of possible options is given below.
SN Option Description
1 anchor It specifies the exact position of the text within the size provided to the widget.
The default value is CENTER, which is used to center the text within the
specified space.
2 bg The background color displayed behind the widget.
3 bitmap It is used to set the bitmap to the graphical object specified so that, the label can
represent the graphics instead of text.
4 bd It represents the width of the border. The default is 2 pixels.
5 cursor The mouse pointer will be changed to the type of the cursor specified, i.e.,
arrow, dot, etc.
6 font The font type of the text written inside the widget.
7 fg The foreground color of the text written inside the widget.
8 height The height of the widget.
9 image The image that is to be shown as the label.
10 justify It is used to represent the orientation of the text if the text contains multiple
lines. It can be set to LEFT for left justification, RIGHT for right justification,
and CENTER for center justification.
11 padx The horizontal padding of the text. The default value is 1.
12 pady The vertical padding of the text. The default value is 1.
13 relief The type of the border. The default value is FLAT.
14 text This is set to the string variable which may contain one or more line of text.
15 textvariable The text written inside the widget is set to the control variable StringVar so that
it can be accessed and changed accordingly.
16 underline We can display a line under the specified letter of the text. Set this option to the
number of the letter under which the line will be displayed.
17 width The width of the widget. It is specified as the number of characters.
18 wraplength Instead of having only one line as the label text, we can break it to the number
of lines where each line has the number of characters specified to this option.

Example:

# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("400x250")
#creating label
uname = Label(top, text = "Username").place(x = 30,y = 50)
#creating label
password = Label(top, text = "Password").place(x = 30, y = 90)
sbmitbtn = Button(top, text = "Submit",activebackground = "pink", activeforeground = "blue").place
(x = 30, y = 120)
e1 = Entry(top,width = 20).place(x = 100, y = 50)
e2 = Entry(top, width = 20).place(x = 100, y = 90)
top.mainloop()
Output:

4. Python Tkinter Checkbutton:


The Checkbutton is used to track the user's choices provided to the application. In other words,
we can say that Checkbutton is used to implement the on/off selections.
The Checkbutton can contain the text or images. The Checkbutton is mostly used to provide
many choices to the user among which, the user needs to choose the one. It generally implements
many of many selections. The syntax to use the checkbutton is given below.
Syntax: w = checkbutton(master, options)
A list of possible options is given below.
SN Option Description
1 activebackground It represents the background color when the checkbutton is under the
cursor.
2 activeforeground It represents the foreground color of the checkbutton when the checkbutton
is under the cursor.
3 bg The background color of the button.
4 bitmap It displays an image (monochrome) on the button.
5 bd The size of the border around the corner.
6 command It is associated with a function to be called when the state of the
checkbutton is changed.
7 cursor The mouse pointer will be changed to the cursor name when it is over the
checkbutton.
8 disableforeground It is the color which is used to represent the text of a disabled checkbutton.
9 font It represents the font of the checkbutton.
10 fg The foreground color (text color) of the checkbutton.
11 height It represents the height of the checkbutton (number of lines). The default
height is 1.
12 highlightcolor The color of the focus highlight when the checkbutton is under focus.
13 image The image used to represent the checkbutton.
14 justify This specifies the justification of the text if the text contains multiple lines.
15 offvalue The associated control variable is set to 0 by default if the button is
unchecked. We can change the state of an unchecked variable to some
other one.
16 onvalue The associated control variable is set to 1 by default if the button is
checked. We can change the state of the checked variable to some other
one.
17 padx The horizontal padding of the checkbutton
18 pady The vertical padding of the checkbutton.
19 relief The type of the border of the checkbutton. By default, it is set to FLAT.
20 selectcolor The color of the checkbutton when it is set. By default, it is red.
21 selectimage The image is shown on the checkbutton when it is set.
22 state It represents the state of the checkbutton. By default, it is set to normal. We
can change it to DISABLED to make the checkbutton unresponsive. The
state of the checkbutton is ACTIVE when it is under focus.
24 underline It represents the index of the character in the text which is to be underlined.
The indexing starts with zero in the text.
25 variable It represents the associated variable that tracks the state of the checkbutton.
26 width It represents the width of the checkbutton. It is represented in the number
of characters that are represented in the form of texts.
27 wraplength If this option is set to an integer number, the text will be broken into the
number of pieces.

Methods:

The methods that can be called with the Checkbuttons are described in the following table.
SN Method Description
1 deselect() It is called to turn off the checkbutton.
2 flash() The checkbutton is flashed between the active and normal colors.
3 invoke() This will invoke the method associated with the checkbutton.
4 select() It is called to turn on the checkbutton.
5 toggle() It is used to toggle between the different Checkbuttons.

Example
from tkinter import *
top = Tk()
top.geometry("200x200")
checkvar1 = IntVar()
checkvar2 = IntVar()
checkvar3 = IntVar()
chkbtn1 = Checkbutton(top, text = "C", variable = checkvar1, onvalue = 1, offvalue = 0, height = 2,
width = 10)
chkbtn2 = Checkbutton(top, text = "C++", variable = checkvar2, onvalue = 1, offvalue = 0, height
= 2, width = 10)
chkbtn3 = Checkbutton(top, text = "Java", variable = checkvar3, onvalue = 1, offvalue = 0, height =
2, width = 10)
chkbtn1.pack()
chkbtn2.pack()
chkbtn3.pack()
top.mainloop()
Output:

5. Python Tkinter Radiobutton:


The Radiobutton widget is used to implement one-of-many selection in the python application. It
shows multiple choices to the user out of which, the user can select only one out of them. We can
associate different methods with each of the radiobutton. We can display the multiple line text or
images on the radiobuttons. To keep track the user's selection the radiobutton, it is associated
with a single variable. Each button displays a single value for that particular variable. The syntax
to use the Radiobutton is given below.

Syntax: w = Radiobutton(top, options)

S Option Description
N
1 activebackground The background color of the widget when it has the focus.
2 activeforeground The font color of the widget text when it has the focus.
3 anchor It represents the exact position of the text within the widget if the
widget contains more space than the requirement of the text. The
default value is CENTER.
4 bg The background color of the widget.
5 bitmap It is used to display the graphics on the widget. It can be set to
any graphical or image object.
6 borderwidth It represents the size of the border.
7 command This option is set to the procedure which must be called every-
time when the state of the radiobutton is changed.
8 cursor The mouse pointer is changed to the specified cursor type. It can
be set to the arrow, dot, etc.
9 font It represents the font type of the widget text.
10 fg The normal foreground color of the widget text.
11 height The vertical dimension of the widget. It is specified as the
number of lines (not pixel).
12 highlightcolor It represents the color of the focus highlight when the widget has
the focus.
13 highlightbackground The color of the focus highlight when the widget is not having
the focus.
14 image It can be set to an image object if we want to display an image
on the radiobutton instead the text.
15 justify It represents the justification of the multi-line text. It can be set
to CENTER(default), LEFT, or RIGHT.
16 padx The horizontal padding of the widget.
17 pady The vertical padding of the widget.
18 relief The type of the border. The default value is FLAT.
19 selectcolor The color of the radio button when it is selected.
20 selectimage The image to be displayed on the radiobutton when it is selected.
21 state It represents the state of the radio button. The default state of the
Radiobutton is NORMAL. However, we can set this to
DISABLED to make the radiobutton unresponsive.
22 text The text to be displayed on the radiobutton.
23 textvariable It is of String type that represents the text displayed by the
widget.
24 underline The default value of this option is -1, however, we can set this
option to the number of character which is to be underlined.
25 value The value of each radiobutton is assigned to the control variable
when it is turned on by the user.
26 variable It is the control variable which is used to keep track of the user's
choices. It is shared among all the radiobuttons.
27 width The horizontal dimension of the widget. It is represented as the
number of characters.
28 wraplength We can wrap the text to the number of lines by setting this
option to the desired number so that each line contains only that
number of characters.

Methods: The radiobutton widget provides the following methods.

S Method Description
N
1 deselect() It is used to turn of the radiobutton.
2 flash() It is used to flash the radiobutton between its active and normal
colors few times.
3 invoke() It is used to call any procedure associated when the state of a
Radiobutton is changed.
4 select() It is used to select the radiobutton.

Example:
from tkinter import *
def selection():
selection = "You selected the option " + str(radio.get())
label.config(text = selection)

top = Tk()
top.geometry("300x150")
radio = IntVar()
lbl = Label(text = "Favourite programming language:")
lbl.pack()
R1 = Radiobutton(top, text="C", variable=radio, value=1,command=selection)
R1.pack( anchor = W )

R2 = Radiobutton(top, text="C++", variable=radio, value=2,command=selection)


R2.pack( anchor = W )

R3 = Radiobutton(top, text="Java", variable=radio, value=3,command=selection)


R3.pack( anchor = W)

label = Label(top)
label.pack()
top.mainloop()
Output:

6. Python Tkinter Frame:


Python Tkinter Frame widget is used to organize the group of widgets. It acts like a container
which can be used to hold the other widgets. The rectangular areas of the screen are used to
organize the widgets to the python application. The syntax to use the Frame widget is given
below.

Syntax: w = Frame(parent, options)


A list of possible options is given below.
S Option Description
N
1 bd It represents the border width.
2 bg The background color of the widget.
3 cursor The mouse pointer is changed to the cursor type set to different
values like an arrow, dot, etc.
4 height The height of the frame.
5 highlightbackground The color of the background color when it is under focus.
6 highlightcolor The text color when the widget is under focus.
7 highlightthickness It specifies the thickness around the border when the widget is
under the focus.
8 relief It specifies the type of the border. The default value if FLAT.
9 width It represents the width of the widget.
Example:
from tkinter import *
top = Tk()
top.geometry("140x100")
frame = Frame(top)
frame.pack()
leftframe = Frame(top)
leftframe.pack(side = LEFT)
rightframe = Frame(top)
rightframe.pack(side = RIGHT)
btn1 = Button(frame, text="Submit", fg="red",activebackground = "red")
btn1.pack(side = LEFT)
btn2 = Button(frame, text="Remove", fg="brown", activebackground = "brown")
btn2.pack(side = RIGHT)
btn3 = Button(rightframe, text="Add", fg="blue", activebackground = "blue")
btn3.pack(side = LEFT)
btn4 = Button(leftframe, text="Modify", fg="black", activebackground = "white")
btn4.pack(side = RIGHT)
top.mainloop()
Output:

7. Python Tkinter Listbox:


The Listbox widget is used to display the list items to the user. We can place only text items in
the Listbox and all text items contain the same font and color.
The user can choose one or more items from the list depending upon the configuration. The
syntax to use the Listbox is given below.
w = Listbox(parent, options)
A list of possible options is given below.
SN Option Description
1 bg The background color of the widget.
2 bd It represents the size of the border. Default value is 2 pixel.
3 cursor The mouse pointer will look like the cursor type like dot, arrow, etc.
4 font The font type of the Listbox items.
5 fg The color of the text.
6 height It represents the count of the lines shown in the Listbox. The default
value is 10.
7 highlightcolor The color of the Listbox items when the widget is under focus.
8 highlightthickness The thickness of the highlight.
9 relief The type of the border. The default is SUNKEN.
10 selectbackground The background color that is used to display the selected text.
11 selectmode It is used to determine the number of items that can be selected from the
list. It can set to BROWSE, SINGLE, MULTIPLE, EXTENDED.
12 width It represents the width of the widget in characters.
13 xscrollcommand It is used to let the user scroll the Listbox horizontally.
14 yscrollcommand It is used to let the user scroll the Listbox vertically.
Methods: There are the following methods associated with the Listbox.
SN Method Description
1 activate(index) It is used to select the lines at the specified index.
2 curselection() It returns a tuple containing the line numbers of the selected
element or elements, counting from 0. If nothing is selected,
returns an empty tuple.
3 delete(first, last = It is used to delete the lines which exist in the given range.
None)
4 get(first, last = None) It is used to get the list items that exist in the given range.
5 index(i) It is used to place the line with the specified index at the top of the
widget.
6 insert(index, *elements) It is used to insert the new lines with the specified number of
elements before the specified index.
7 nearest(y) It returns the index of the nearest line to the y coordinate of the
Listbox widget.
8 see(index) It is used to adjust the position of the listbox to make the lines
specified by the index visible.
9 size() It returns the number of lines that are present in the Listbox
widget.
10 xview() This is used to make the widget horizontally scrollable.
11 xview_moveto(fraction It is used to make the listbox horizontally scrollable by the
) fraction of width of the longest line present in the listbox.
12 xview_scroll(number, It is used to make the listbox horizontally scrollable by the
what) number of characters specified.
13 yview() It allows the Listbox to be vertically scrollable.
14 yview_moveto(fraction It is used to make the listbox vertically scrollable by the fraction
) of width of the longest line present in the listbox.
15 yview_scroll (number, It is used to make the listbox vertically scrollable by the number
what) of characters specified.
Example:
# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("200x250")
lbl = Label(top,text = "A list of favourite countries...")
listbox = Listbox(top)
listbox.insert(1,"India")
listbox.insert(2, "USA")
listbox.insert(3, "Japan")
listbox.insert(4, "Austrelia")
lbl.pack()
listbox.pack()
top.mainloop()
Output:

8. Python Tkinter Message:


The Message widget is used to show the message to the user regarding the behaviour of the
python application. The message widget shows the text messages to the user which can not be
edited. The message text contains more than one line. However, the message can only be shown
in the single font. The syntax to use the Message widget is given below.
Syntax: w = Message(parent, options)
A list of possible options is given below.
S Option Description
N
1 anchor It is used to decide the exact position of the text within the space provided to
the widget if the widget contains more space than the need of the text. The
default is CENTER.
2 bg The background color of the widget.
3 bitmap It is used to display the graphics on the widget. It can be set to any graphical
or image object.
4 bd It represents the size of the border in the pixel. The default size is 2 pixel.
5 cursor The mouse pointer is changed to the specified cursor type. The cursor type
can be an arrow, dot, etc.
6 font The font type of the widget text.
7 fg The font color of the widget text.
8 height The vertical dimension of the message.
9 image We can set this option to a static image to show that onto the widget.
10 justify This option is used to specify the alignment of multiple line of code with
respect to each other. The possible values can be LEFT (left alignment),
CENTER (default), and RIGHT (right alignment).
11 padx The horizontal padding of the widget.
12 pady The vertical padding of the widget.
13 relief It represents the type of the border. The default type is FLAT.
14 text We can set this option to the string so that the widget can represent the
specified text.
15 textvariable This is used to control the text represented by the widget. The textvariable
can be set to the text that is shown in the widget.
16 underline The default value of this option is -1 that represents no underline. We can set
this option to an existing number to specify that nth letter of the string will be
underlined.
17 width It specifies the horizontal dimension of the widget in the number of
characters (not pixel).
18 wraplength We can wrap the text to the number of lines by setting this option to the
desired number so that each line contains only that number of characters.
Example:
from tkinter import *
top = Tk()
top.geometry("100x100")
var = StringVar()
msg = Message( top, text = "Welcome to Javatpoint")
msg.pack()
top.mainloop()
Output:

9. Python Tkinter Menubutton:


The Menubutton widget can be defined as the drop-down menu that is shown to the user all the
time. It is used to provide the user a option to select the appropriate choice exist within the
application. The Menubutton is used to implement various types of menus in the python
application. A Menu is associated with the Menubutton that can display the choices of the
Menubutton when clicked by the user. The syntax to use the python tkinter Menubutton is given
below.
Syntax : w = Menubutton(Top, options)
A list of various options is given below.
SN Option Description
1 activebackground The background color of the widget when the widget is under focus.
2 activeforeground The font color of the widget text when the widget is under focus.
3 anchor It specifies the exact position of the widget content when the widget is
assigned more space than needed.
4 bg It specifies the background color of the widget.
5 bitmap It is set to the graphical content which is to be displayed to the widget.
6 bd It represents the size of the border. The default value is 2 pixels.
7 cursor The mouse pointer will be changed to the cursor type specified when the
widget is under the focus. The possible value of the cursor type is arrow,
or dot etc.
8 direction It direction can be specified so that menu can be displayed to the
specified direction of the button. Use LEFT, RIGHT, or ABOVE to
place the widget accordingly.
9 disabledforegroun The text color of the widget when the widget is disabled.
d
10 fg The normal foreground color of the widget.
11 height The vertical dimension of the Menubutton. It is specified as the number
of lines.
12 highlightcolor The highlight color shown to the widget under focus.
13 image The image displayed on the widget.
14 justify This specified the exact position of the text under the widget when the
text is unable to fill the width of the widget. We can use the LEFT for
the left justification, RIGHT for the right justification, CENTER for the
centre justification.
15 menu It represents the menu specified with the Menubutton.
16 padx The horizontal padding of the widget.
17 pady The vertical padding of the widget.
18 relief This option specifies the type of the border. The default value is
RAISED.
19 state The normal state of the Mousebutton is enabled. We can set it to
DISABLED to make it unresponsive.
20 text The text shown with the widget.
21 textvariable We can set the control variable of string type to the text variable so that
we can control the text of the widget at runtime.
22 underline The text of the widget is not underlined by default but we can set this
option to make the text of the widget underlined.
23 width It represents the width of the widget in characters. The default value is
20.
24 wraplength We can break the text of the widget in the number of lines so that the
text contains the number of lines not greater than the specified value.
Example
# !/usr/bin/python3
from tkinter import *
top = Tk()
top.geometry("200x250")
menubutton = Menubutton(top, text = "Language", relief = FLAT)
menubutton.grid()
menubutton.menu = Menu(menubutton)
menubutton["menu"]=menubutton.menu
menubutton.menu.add_checkbutton(label = "Hindi", variable=IntVar())
menubutton.menu.add_checkbutton(label = "English", variable = IntVar())
menubutton.pack()
top.mainloop()
Output:

10. Python Tkinter Menu:


The Menu widget is used to create various types of menus (top level, pull down, and pop up) in
the python application. The top-level menus are the one which is displayed just under the title
bar of the parent window. We need to create a new instance of the Menu widget and add various
commands to it by using the add() method. The syntax to use the Menu widget is given below.
Syntax: w = Menu(top, options)
A list of possible options is given below.
SN Option Description
1 activebackground The background color of the widget when the widget is under the
focus.
2 activeborderwidth The width of the border of the widget when it is under the mouse. The
default is 1 pixel.
3 activeforeground The font color of the widget when the widget has the focus.
4 bg The background color of the widget.
5 bd The border width of the widget.
6 cursor The mouse pointer is changed to the cursor type when it hovers the
widget. The cursor type can be set to arrow or dot.
7 disabledforegroun The font color of the widget when it is disabled.
d
8 font The font type of the text of the widget.
9 fg The foreground color of the widget.
10 postcommand The postcommand can be set to any of the function which is called
when the mourse hovers the menu.
11 relief The type of the border of the widget. The default type is RAISED.
12 image It is used to display an image on the menu.
13 selectcolor The color used to display the checkbutton or radiobutton when they are
selected.
14 tearoff By default, the choices in the menu start taking place from position 1.
If we set the tearoff = 1, then it will start taking place from 0th
position.
15 title Set this option to the title of the window if you want to change the title
of the window.
Methods: The Menu widget contains the following methods.

SN Option Description
1 add_command(options) It is used to add the Menu items to the menu.
2 add_radiobutton(options) This method adds the radiobutton to the menu.
3 add_checkbutton(options) This method is used to add the checkbuttons to the menu.
4 add_cascade(options) It is used to create a hierarchical menu to the parent menu by
associating the given menu to the parent menu.
5 add_seperator() It is used to add the seperator line to the menu.
6 add(type, options) It is used to add the specific menu item to the menu.
7 delete(startindex, It is used to delete the menu items exist in the specified range.
endindex)
8 entryconfig(index, It is used to configure a menu item identified by the given index.
options)
9 index(item) It is used to get the index of the specified menu item.
10 insert_seperator(index) It is used to insert a seperator at the specified index.
11 invoke(index) It is used to invoke the associated with the choice given at the
specified index.
12 type(index) It is used to get the type of the choice specified by the index.

Example:

from tkinter import Toplevel, Button, Tk, Menu

top = Tk()
menubar = Menu(top)
file = Menu(menubar, tearoff=0)
file.add_command(label="New")
file.add_command(label="Open")
file.add_command(label="Save")
file.add_command(label="Save as...")
file.add_command(label="Close")
file.add_separator()
file.add_command(label="Exit", command=top.quit)
menubar.add_cascade(label="File", menu=file)
edit = Menu(menubar, tearoff=0)
edit.add_command(label="Undo")
edit.add_separator()
edit.add_command(label="Cut")
edit.add_command(label="Copy")
edit.add_command(label="Paste")
edit.add_command(label="Delete")
edit.add_command(label="Select All")
menubar.add_cascade(label="Edit", menu=edit)
help = Menu(menubar, tearoff=0)
help.add_command(label="About")
menubar.add_cascade(label="Help", menu=help)
top.config(menu=menubar)
top.mainloop()

Output:

11. Python Tkinter Text:


The Text widget is used to show the text data on the Python application. However, Tkinter
provides us the Entry widget which is used to implement the single line text box. The Text
widget is used to display the multi-line formatted text with various styles and attributes. The Text
widget is mostly used to provide the text editor to the user. The Text widget also facilitates us to
use the marks and tabs to locate the specific sections of the Text. We can also use the windows
and images with the Text as it can also be used to display the formatted text. The syntax to use
the Text widget is given below.
Syntax: w = Text(top, options)
A list of possible options that can be used with the Text widget is given below.
SN Option Description
1 bg The background color of the widget.
2 bd It represents the border width of the widget.
3 cursor The mouse pointer is changed to the specified cursor type, i.e. arrow,
dot, etc.
4 exportselection The selected text is exported to the selection in the window manager.
We can set this to 0 if we don't want the text to be exported.
5 font The font type of the text.
6 fg The text color of the widget.
7 height The vertical dimension of the widget in lines.
8 highlightbackground The highlightcolor when the widget doesn't has the focus.
9 highlightthickness The thickness of the focus highlight. The default value is 1.
10 highlighcolor The color of the focus highlight when the widget has the focus.
11 insertbackground It represents the color of the insertion cursor.
12 insertborderwidth It represents the width of the border around the cursor. The default is
0.
13 insertofftime The time amount in Milliseconds during which the insertion cursor is
off in the blink cycle.
14 insertontime The time amount in Milliseconds during which the insertion cursor is
on in the blink cycle.
15 insertwidth It represents the width of the insertion cursor.
16 padx The horizontal padding of the widget.
17 pady The vertical padding of the widget.
18 relief The type of the border. The default is SUNKEN.
19 selectbackground The background color of the selected text.
20 selectborderwidth The width of the border around the selected text.
21 spacing1 It specifies the amount of vertical space given above each line of the
text. The default is 0.
22 spacing2 This option specifies how much extra vertical space to add between
displayed lines of text when a logical line wraps. The default is 0.
23 spacing3 It specifies the amount of vertical space to insert below each line of
the text.
24 state It the state is set to DISABLED, the widget becomes unresponsive to
the mouse and keyboard unresponsive.
25 tabs This option controls how the tab character is used to position the text.
26 width It represents the width of the widget in characters.
27 wrap This option is used to wrap the wider lines into multiple lines. Set this
option to the WORD to wrap the lines after the word that fit into the
available space. The default value is CHAR which breaks the line
which gets too wider at any character.
28 xscrollcommand To make the Text widget horizontally scrollable, we can set this
option to the set() method of Scrollbar widget.
29 yscrollcommand To make the Text widget vertically scrollable, we can set this option
to the set() method of Scrollbar widget.
Methods: We can use the following methods with the Text widget.

SN Method Description
1 delete(startindex, This method is used to delete the characters of the specified range.
endindex)
2 get(startindex, It returns the characters present in the specified range.
endindex)
3 index(index) It is used to get the absolute index of the specified index.
4 insert(index, It is used to insert the specified string at the given index.
string)
5 see(index) It returns a boolean value true or false depending upon whether the text
at the specified index is visible or not.

12. Tkinter messagebox:


The messagebox module is used to display the message boxes in the python applications. There
are the various functions which are used to display the relevant messages depending upon the
application requirements.
The syntax to use the messagebox is given below.
Syntax: messagebox.function_name(title, message [, options])
Parameters:
o function_name: It represents an appropriate message box function.
o title: It is a string which is shown as a title of a message box.
o message: It is the string to be displayed as a message on the message box.
o options: There are various options which can be used to configure the message dialog
box.
The two options that can be used are default and parent.

1. default
The default option is used to mention the types of the default button, i.e. ABORT, RETRY, or
IGNORE in the message box.
2. parent
The parent option specifies the parent window on top of which, the message box is to be
displayed.
There is one of the following functions used to show the appropriate message boxes. All the
functions are used with the same syntax but have the specific functionalities.

1. showinfo(): The showinfo() messagebox is used where we need to show some


relevant information to the user.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
messagebox.showinfo("information","Information")
top.mainloop()
Output:
2. showwarning(): This method is used to display the warning to the user. Consider
the following example.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
messagebox.showwarning("warning","Warning")
top.mainloop()
Output:

13. showerror(): This method is used to display the error message to the user.
Consider the following example.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox

top = Tk()
top.geometry("100x100")
messagebox.showerror("error","Error")
top.mainloop()

Output:

14. askquestion(): This method is used to ask some question to the user which can be
answered in yes or no. Consider the following example.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
messagebox.askquestion("Confirm","Are you sure?")
top.mainloop()
Output:
5. askokcancel(): This method is used to confirm the user's action regarding some
application activity. Consider the following example.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
messagebox.askokcancel("Redirect","Redirecting you to www.javatpoint.com")
top.mainloop()
Output:

6. askyesno(): This method is used to ask the user about some action to which, the
user can answer in yes or no. Consider the following example.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
messagebox.askyesno("Application","Got It?")
top.mainloop()
Output:

7. askretrycancel(): This method is used to ask the user about doing a particular task
again or not. Consider the following example.
Example
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
top.geometry("100x100")
messagebox.askretrycancel("Application","try again?")
top.mainloop()
Output:

You might also like