logo

Python GUI Programming - Tkinter


Show

Python offers a variety of alternatives for rising graphical user interfaces (GUIs). The most significant are mentioned below.

Tkinter - Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We would look at this option in this chapter.

wxPython - This is an open-source Python interface for wxWindows http://wxpython.org.

JPython - JPython is a Python port for Java that gives Python scripts seamless access to Java class libraries on the local machine http://www.jython.org.

There are numerous other interfaces accessible, which you can discover on the net.

Tkinter Programming

Tkinter is the normal GUI library for Python. Python while joined with Tkinter offers a quick and easy way to produce GUI applications. Tkinter supplies a commanding object-oriented line 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 -

  • Import the Tkinter module.
  • Create the GUI application main window.
  • Add one or more of the above-mentioned widgets to the GUI application.
  • 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()

This would create the following window:

Tkinter Widgets

Tkinter gives a variety of controls, such as buttons, labels, and text boxes utilized in a GUI application. These controls are usually called widgets.

There are now 15 types of widgets in Tkinter. We near these widgets as well as a concise description in the following table -

Sr.No.Operator & Description
1Button

The Button widget is used to display buttons in your application.

2Canvas

The Canvas widget is used to draw shapes, such as lines, ovals, polygons, and rectangles, in your application.

3Checkbutton

The Check button widget is used to display several options as checkboxes. The user can select multiple options at a time.

4Entry

The Entry widget is used to display a single-line text field for accepting values from a user.

5Frame

The Frame widget is used as a container widget to organize other widgets.

6Label

The Label widget is used to provide a single-line caption for other widgets. It can also contain images.

7Listbox

The Listbox widget is used to provide a list of options to a user.

8Menubutton

The Menu button widget is used to display menus in your application.

9Menu

The Menu widget is used to provide various commands to a user. These commands are contained inside the Menu button.

10Message

The Message widget is used to display multiline text fields for accepting values from a user.

11Radiobutton

The Radiobutton widget is used to display several options as radio buttons. The user can select only one option at a time.

12Scale

The Scale widget is used to provide a slider widget.

13Scrollbar

The Scrollbar widget is used to add scrolling capability to various widgets, such as list boxes.

14Text

The Text widget is used to display text in multiple lines.

15Toplevel

The Toplevel widget is used to provide a separate window container.

16Spinbox

The Spinbox widget is a variant of the standard Tkinter Entry widget, which can be used to select from a fixed number of values.

17PanedWindow

A PanedWindow is a container widget that may contain any number of panes, arranged horizontally or vertically.

18LabelFrame

A label frame is a simple container widget. Its primary purpose is to act as a spacer or container for complex window layouts.

19tkMessageBox

This module is used to display message boxes in your applications.

This module is used to display message boxes in your applications.

Let us study these widgets in detail -

Standard attributes

Let us take a look at how some of their common attributes. such as sizes, colors and fonts are specified.

Let us study them briefly:

Geometry Management

Every Tkinter widgets have admission to precise geometry running methods, which include the idea of organizing widgets during the parent widget area. Tkinter depictions 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.

Let us study the geometry management methods briefly:

Here at Intellinuts, we have created a complete Python tutorial for Beginners to get started in Python.