Hello dear readers! welcome back to another section of our tutorial on Python. In this tutorial post, we are going to be discussing about the Python GUI Programming with Tkinter.
Python provides various options for development of graphical user interfaces (GUIs). Following below are the most important options -
Python provides various options for development of graphical user interfaces (GUIs). Following below are the most important options -
- Tkinter - The Tkinter option is the Python interface to the Tk GUI toolkit shipped with Python. We would talk about this option in this tutorial.
- wxPython - This is an open source Python interface that is used for wxWindows. Visit the wxPython website for more details.
- Jython - Jython is the Python port for Java which provides Python scripts with absolute access to Java class library on the local machine. You can visit the Jython website for more details.
There are many other interfaces that are available, which can be found on the internet.
RECOMMENDED: XML Processing in Python
Tkinter Programming
Tkinter is the standard GUI library for Python. Python when used with Tkinter gives a very fast and easy way for creating GUI applications. Tkinter provides a very powerful object-oriented interface to the Tk GUI toolkit.
Creating a GUI app using Tkinter is a very easy task. All you need do is to perform the below steps -
Creating a GUI app using Tkinter is a very easy task. All you need do is to perform the below steps -
- Import the Tkinter module.
- Next is to create the GUI application main window.
- Now add one or more of the above mentioned widgets to the GUI app.
- Enter the main event loop in order to take action against each event that is triggered by the user.
Example
#!/usr/bin/python import Tkinter top = Tkinter.Tk() # Code to add widgets will go here... top.mainloop()
Output
When the above code is executed, it will produce the following result -
RECOMMENDED: Loop Control Statements in Python
Tkinter Widgets
Tkinter provides different controls, like buttons, labels and text boxes used in GUI app. These controls are commonly called widgets.
There are currently nineteen types of widgets in Tkinter. Following is a list of these widgets alongside with their descriptions -
Sr.No. | Operator & Description |
---|---|
1 | Button
The Button widget is used to display buttons in your application.
|
2 | Canvas
The Canvas widget is used to draw shapes, such as lines, ovals, polygons and rectangles, in your application.
|
3 | Checkbutton
The Checkbutton widget is used to display a number of options as checkboxes. The user can select multiple options at a time.
|
4 | Entry
The Entry widget is used to display a single-line text field for accepting values from a user.
|
5 | Frame
The Frame widget is used as a container widget to organize other widgets.
|
6 | Label
The Label widget is used to provide a single-line caption for other widgets. It can also contain images.
|
7 | Listbox
The Listbox widget is used to provide a list of options to a user.
|
8 | Menubutton
The Menubutton widget is used to display menus in your application.
|
9 | Menu
The Menu widget is used to provide various commands to a user. These commands are contained inside Menubutton.
|
10 | Message
The Message widget is used to display multiline text fields for accepting values from a user.
|
11 | Radiobutton
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 | Scale
The Scale widget is used to provide a slider widget.
|
13 | Scrollbar
The Scrollbar widget is used to add scrolling capability to various widgets, such as list boxes.
|
14 | Text
The Text widget is used to display text in multiple lines.
|
15 | Toplevel
The Toplevel widget is used to provide a separate window container.
|
16 | Spinbox
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 | PanedWindow
A PanedWindow is a container widget that may contain any number of panes, arranged horizontally or vertically.
|
18 | LabelFrame
A labelframe is a simple container widget. Its primary purpose is to act as a spacer or container for complex window layouts.
|
19 | tkMessageBox
This module is used to display message boxes in your applications.
|
The above listed widgets is going to be discussed properly in our subsequent tutorials.
RECOMMENDED POST: A Guide to Python Exception Handling
Standard Attributes
Let us now 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
All Tkinter widgets have access to particular geometry management methods, which have the purpose of organizing various widgets all through the parent widget region. The Tkinter reveals three geometry manager classes which are; pack, grid, and place.
- The pack() Method - This geometry manager arranges the widgets in blocks before placing them all in the parent widget.
- The grid() Method - This geometry manager arranges widgets in a table like form in the parent widget.
- The place() Method - This geometry manager arranges the widgets by placing them in a specific position in the parent widget.
RECOMMENDED: Complete List of Python Standard Exceptions
Alright guys! This is where we are rounding up for this tutorial post. In our next tutorial, we are going to be discussing about the Python Tkinter Button Widget.
Feel free to ask your questions where necessary and i will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.
Thanks for reading and bye for now.
Feel free to ask your questions where necessary and i will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.
Thanks for reading and bye for now.