Python Gui Programming PDF
Python Gui Programming PDF
Python provides various options for developing graphical user interfaces GUIs. Most important are
listed below.
Tkinter: Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We would
look this option in this chapter.
JPython: JPython is a Python port for Java which gives Python scripts seamless access to Java
class libraries on the local machine http://www.jython.org.
There are many other interfaces available, which you can find them on the net.
Tkinter Programming
Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast
and easy way to create GUI applications. Tkinter provides a powerful object-oriented interface to
the Tk GUI toolkit.
Creating a GUI application using Tkinter is an easy task. All you need to do is perform the following
steps
Enter the main event loop to take action against each event triggered by the user.
Example
#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Tkinter Widgets
Tkinter provides various controls, such as buttons, labels and text boxes used in a GUI application.
These controls are commonly called widgets.
There are currently 15 types of widgets in Tkinter. We present these widgets as well as a brief
description in the following table
Operator Description
The Canvas widget is used to draw shapes, such as lines, ovals, polygons and
Canvas rectangles, in your application.
The Entry widget is used to display a single-line text field for accepting values
Entry from a user.
The Label widget is used to provide a single-line caption for other widgets. It
Label can also contain images.
The Message widget is used to display multiline text fields for accepting values
Message from a user.
The Scrollbar widget is used to add scrolling capability to various widgets, such
Scrollbar as list boxes.
The Spinbox widget is a variant of the standard Tkinter Entry widget, which can
Spinbox be used to select from a fixed number of values.
A PanedWindow is a container widget that may contain any number of panes,
PanedWindow arranged horizontally or vertically.
Standard attributes
Let us take a look at how some of their common attributes.such as sizes, colors and fonts are
specified.
Dimensions
Colors
Fonts
Anchors
Relief styles
Bitmaps
Cursors
Geometry Management
All Tkinter widgets have access to specific geometry management methods, which have the
purpose of organizing widgets throughout the parent widget area. Tkinter exposes the following
geometry manager classes: pack, grid, and place.
The pack Method - This geometry manager organizes widgets in blocks before placing them
in the parent widget.
The grid Method - This geometry manager organizes widgets in a table-like structure in the
parent widget.
The place Method -This geometry manager organizes widgets by placing them in a specific
position in the parent widget.