Skip to main content

Python GUI Programming

Python GUI Programming
Most of the programs we have done till now, are text based programming. But there are many 
programs that need GUI (Graphical User Interface).
Python provides several different options for writing GUI based programs. These are listed below:
  • Tkinter: It is the easiest among all to get started with. It is Python’s standard GUI (Graphical User Interface) package. It is the most commonly used toolkit for GUI Programming in Python.
  • JPython: It is the Python platform for java that is providing Python scripts seamless access o Java class Libraries for the local machine.
  • wxPython: It is open-source cross platform GUI toolkit written in C++. It one of the alternative to Tkinter, which is bundled with Python.
There are many other interfaces available for GUI. But these are the most commonly used ones. In this we will learn about the basic GUI programming using Tkinter.

Using Tkinter

It is the standard GUI toolkit for Python. It was written by Fredrik Lundh. For modern Tk binding, Tkinter is implemented as a Python wrapper for the Tcl Interpreter embedded within the interpreter of Python. Tk provide the following widgets:
  • button
  • canvas
  • combo-box
  • frame
  • level
  • check-button
  • entry
  • level-frame
  • menu
  • list – box
  • menu button
  • message
  • tk_optoinMenu
  • progress-bar
  • radio button
  • scroll bar
  • separator
  • tree-view and many more…
Creating a GUI program using this Tkinter is simple. For this programmers need to follow the steps mentioned below:
  1. Import the module Tkinter
  2. Build a GUI application (as an window)
  3. Add those widgets that are mentioned above
  4. Enter the primary i.e. main event’s loop for taking action when the user triggered the event.

A Sample Program Using Tkinter

In this program it is shown how Tkinter is used via Python to built windows along with some buttons and the events that is programmed using these buttons.
Example:
#!/usr/bin/python

import tkinter as tk
from tkinter import *
from tkinter import ttk

class karl( Frame ):
def __init__( self ):
tk
.Frame.__init__(self)
self.pack()
self.master.title("Karlos")
self.button1 = Button( self, text = "CLICK HERE", width = 25,
command
= self.new_window )
self.button1.grid( row = 0, column = 1, columnspan = 2, sticky = W+E+N+S )
def new_window(self):
self.newWindow = karl2()
class karl2(Frame):
def __init__(self):
new =tk.Frame.__init__(self)
new = Toplevel(self)
new.title("karlos More Window")
new.button = tk.Button( text = "PRESS TO CLOSE", width = 25,
command
= self.close_window )
new.button.pack()
def close_window(self):
self.destroy()
def main():
karl
().mainloop()
if __name__ == '__main__':
main
()

Standard Attributed For GUI

  • Dimensions
  • Fonts
  • Colors
  • Cursors
  • Anchors
  • Bitmaps

Methods For Geometry Management

  • The pack(): This method manages the geometry of widgets in blocks
  • The grid(): This method organizes widgets in tabular structure
  • The place(): This method organizes the widgets to place them in a specific position

Comments

For Programs Click Here

Popular posts from this blog

Python Lists

Python Lists Dealing with data in a structured format is quiet generous, and this is possible if those data are set accordingly in a specific manner. So, Python provides these data structures named ‘lists’ and ‘tuples’ that are used to organize data in  single set. Python has 6 built-in sequences and among them the most famous are “lists and tuples”. The lists are containers that hold a number of other objects in a given order. It usually puts into practice the sequence protocol and allows programmers to add or remove objects from that sequence. Each element of the sequence is assigned a number i.e. he index and the first index is 0 (zero). This versatile data-type of Python is written in a sequence of list separated by commas between expressions. Creating Lists To build a list, just put a number of expressions in square brackets. The syntax is: Syntax: lst1 = [ ] # lst1 is the name of the list lst2 = [ expression1 , …. , expression_N ] Example: #!/usr/bin/python ls...

C++ Objects and Classes

C++ Object Oriented C++ Objects and Classes In object-oriented programming languages like C++, the data and functions (procedures to manipulate the data) are bundled together as a self-contained unit called an object. A class is an extended concept similar to that of structure in C programming language; this class describes the data properties alone. In C++ programming language, class describes both the properties (data) and behaviors (functions) of objects. Classes are not objects, but they are used to instantiate objects. What is a class? A class is an abstract data type similar to ‘ C structure ‘. Class representation of objects and the sets of operations that can be applied to such objects. Class consists of Data members and methods. Primary purpose of a class is to held data/information. This is achieved with attributes which is also know as data members. The member functions determine the behavior of the class i.e. provide definition for supporting various operations on data held...

C++ Polymorphism

C++ Polymorphism The term Polymorphism get derived from the Greek word where  poly  +  morphos  where poly means many and morphos means forms. In programming background, polymorphism can be broadly divided into two parts. These are: Static Polymorphism Dynamic Polymorphism. Polymorphism is another concept of object oriented programming (OOPs). The attitude which lies beneath this concept is “single interface having multiple implementations.” This provides a single interface for controlling access to a general class of actions. Polymorphism can be gained in both ways: compile time and run time A common and simple example of polymorphism is when you used  >>  and  << as operator overloading in C++, for  cin  and  cout  statements respectively. This bitwise shift operator at that time acts as a inclusion operator and its overloaded meaning is defined in  iostream  header file. Static Polymorphism In static polymor...