- Python 3 - Exceptions
- Python 3 - Files I/O
- Python 3 - Modules
- Python 3 - Functions
- Python 3 - Date & Time
- Python 3 - Dictionary
- Python 3 - Tuples
- Python 3 - Lists
- Python 3 - Strings
- Python 3 - Numbers
- Python 3 - Loops
- Python 3 - Decision Making
- Python 3 - Basic Operators
- Python 3 - Variable Types
- Python 3 - Basic Syntax
- Python 3 - Environment Setup
- Python 3 - Overview
- What is New in Python 3
- Python 3 - Home
Python 3 Advanced Tutorial
- Python 3 - Further Extensions
- Python 3 - GUI Programming
- Python 3 - XML Processing
- Python 3 - Multithreading
- Python 3 - Sending Email
- Python 3 - Networking
- Python 3 - Database Access
- Python 3 - CGI Programming
- Python 3 - Reg Expressions
- Python 3 - Classes/Objects
Python 3 Useful Resources
- Python 3 - Discussion
- Python 3 - Useful Resources
- Python 3 - Tools/Utilities
- Python 3 - Quick Guide
- Python 3 - Questions and Answers
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Python 3 - GUI Programming (Tkinter)
Python provides various options for developing graphical user interfaces (GUIs). The most important features are psted below.
Tkinter − Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We would look this option in this chapter.
wxPython − This is an open-source Python interface for wxWidgets GUI toolkit. You can find a complete tutorial on WxPython
.PyQt −This is also a Python interface for a popular cross-platform Qt GUI pbrary. TutorialsPoint has a very good tutorial on PyQt
.JPython − JPython is a Python port for Java, which gives Python scripts seamless access to the Java class pbraries on the local machine
.There are many other interfaces available, which you can find them on the net.
Tkinter Programming
Tkinter is the standard GUI pbrary for Python. Python when combined with Tkinter provides a fast and easy way to create GUI apppcations. Tkinter provides a powerful object-oriented interface to the Tk GUI toolkit.
Creating a GUI apppcation using Tkinter is an easy task. All you need to do is perform the following steps −
Import the Tkinter module.
Create the GUI apppcation main window.
Add one or more of the above-mentioned widgets to the GUI apppcation.
Enter the main event loop to take action against each event triggered by the user.
Example
#!/usr/bin/python3 import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3 top = tkinter.Tk() # Code to add widgets will go here... top.mainloop()
This would create a following window −
![TK Window](/python3/images/tkwindow.jpg)
Tkinter Widgets
Tkinter provides various controls, such as buttons, labels and text boxes used in a GUI apppcation. 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 −
Sr.No. | Operator & Description |
---|---|
1 |
The Button widget is used to display the buttons in your apppcation. |
2 |
The Canvas widget is used to draw shapes, such as pnes, ovals, polygons and rectangles, in your apppcation. |
3 |
The Checkbutton widget is used to display a number of options as checkboxes. The user can select multiple options at a time. |
4 |
The Entry widget is used to display a single-pne text field for accepting values from a user. |
5 |
The Frame widget is used as a container widget to organize other widgets. |
6 |
The Label widget is used to provide a single-pne caption for other widgets. It can also contain images. |
7 |
The Listbox widget is used to provide a pst of options to a user. |
8 |
The Menubutton widget is used to display menus in your apppcation. |
9 |
The Menu widget is used to provide various commands to a user. These commands are contained inside Menubutton. |
10 |
The Message widget is used to display multipne text fields for accepting values from a user. |
11 |
The Radiobutton widget is used to display a number of options as radio buttons. The user can select only one option at a time. |
12 |
The Scale widget is used to provide a spder widget. |
13 |
The Scrollbar widget is used to add scrolpng capabipty to various widgets, such as pst boxes. |
14 |
The Text widget is used to display text in multiple pnes. |
15 |
The Toplevel widget is used to provide a separate window container. |
16 |
The Spinbox widget is a variant of the standard Tkinter Entry widget, which can be used to select from a fixed number of values. |
17 |
A PanedWindow is a container widget that may contain any number of panes, arranged horizontally or vertically. |
18 |
A labelframe is a simple container widget. Its primary purpose is to act as a spacer or container for complex window layouts. |
19 |
This module is used to display message boxes in your apppcations. |
Standard attributes
Let us look at how some of their common attributes, such as sizes, colors and fonts are specified.
Geometry Management
All Tkinter widgets have access to the 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.
− This geometry manager organizes widgets in blocks before placing them in the parent widget.
− This geometry manager organizes widgets in a table-pke structure in the parent widget.
− This geometry manager organizes widgets by placing them in a specific position in the parent widget.