GUI programming in Python and Python GUI Library
What is GUI?
GUI stands for Graphical User Interface,it was created in 1970’s and the first commercially available GUI is called as ‘PARC’ and was developed by Xerox.
GUI can be developed using Python Programming language.
Difference between CLI and GUI
Sr. No | CLI | GUI |
---|---|---|
1 | CLI stands for Command Line Interface | GUI stands for Graphical User Interface |
2 | In CLI we can obtain high precision. | While in it, low precision is obtained. |
3 | CLI is faster than GUI. | GUI is slower than CLI. |
4 | It consumes low memory. | It consumes more memory. |
5 | CLI is difficult to use. | GUI is easy to use. |
6 | CLI operating system needs only keyboard. | GUI operating system need both mouse and keyboard. |
7 | CLI’s appearance cannot be modified or changed. | While it’s appearance can be modified or changed. |
8 | In CLI, the information is shown or presented to the user in plain text and files. | In GUI, the information is shown or presented to the user in any form such as: plain text, videos, images, etc. |
9 | In CLI, input is entered only at command prompt. | While in GUI, input can be entered anywhere on the screen. |
10 | CLI do not use any pointing devices. | While it uses pointing devices for selecting and choosing items. |
11 | There are no graphics in CLI. | In GUI, graphics are used. |
12 | In CLI, spelling mistakes and typing errors are not avoided. | Whereas in GUI, spelling mistakes and typing errors are avoided. |
13 | In CLI, there are no menus provided. | In GUI, menus are provided. |
Advantages of GUI
1. It is user-friendly and simple.
2. It is attractive for non technical users.
3. No need to execute commands for carrying out functions like opening file , saving etc.
4.Look and feel is better than text interface
5. It is much better than command driven interface which has many drawbacks.
6. User can switch quickly between tasks on the GUI interface.
Disadvantages of GUI
1. Difficulty in development and high costs
2. More time for implementation and testing
3. GUI becomes more complex if user needs to communicate with the computer directly.
4. Certain tasks may take long due to many menus to select the desired choice.
5. Hidden commands need to be searched using Help file.
6. GUI based applications require more RAM in order to run.
7. It uses more processing power compare to other interface types.
Python GUI Library
The GUI library is fully featured with graphics suite.
It supports large number of displays and includes tools for rapid development of GUI based applications.
Python provides various options for developing graphical user interfaces.
List of few libraries:
1. PyGUI
It is used on cross-platform,API is documented purely in Python terms.
2. Tkinter
Tkinter is a binding Python GUI toolkit.
The Tkinter toolkit can run on various platforms like Linux, Microsoft Windows, and Mac OS X.
3.Toga
Joining the toolkit club of Python recently, Toga is still in its budding stage. It is a native Python OS cross-platform for GUI toolkit which consists of basic components with a shared interface.
4.VTK
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization.
5.Kivy
Kivy is used for designing mobile apps and multi-touch application software, which includes natural user interface.
Note: These are few libraries in Python which supports GUI.
You can also check other tkinter concepts
- Layout / Geometry Manager in Python
- Events and Bindings in Python along with Widget configuration and styling
- Fonts Names, Font Descriptors, System Fonts, Text formatting, Borders, Relief Styles in Python
- What is tkinter?
- Label, Text, Entry & Message Widget in Python
- Widgets in tkinter module – Python
- Canvas widget of tkinter module – Python
- Best post on Menu and Menubutton Widget of tkinter
- Best post- Listbox and Scrollbar(Slider) Widget-Python
- Best post on Frame Widget of tkinter in Python
- Best post on Spinbox and Scale Widget in Python
- Best post- LabelFrame, Toplevel, PanedWindow widgets
- Best post: message box widget and its methods
- Best post:Dimensions, Anchors, Bitmaps & Cursors in Python