Thursday, May 20, 2010

Learn Quickly Creating Professional Looking Desktop Application Using Python - Part 1 of 7

I have done this tutorial series elsewhere, but now I decide to repeat it on my blog.... This post is the part 1. Enjoy! 

Learn Quickly Creating Professional Looking Desktop Application Using Python2.7/wxPython, wxFormBuilder, Py2exe and InnoSetup Take your ability to develop powerful applications for desktop to the next level today.

Quick links to other parts of this blog series:
Part-1 | Part-2 | Part-3 | Part-4 | Part-5 | Part-6 | Part-7

This tutorial will show you how to design and build a fully-functional desktop Graphical User Interface (GUI) application for maths Expression Evaluation using a combination of Python 2.x, wxPython, wxFormBuilder, Py2exe and InnoSetup Compiler. The app we will build is going to be a mini calculator that can perform valid Mathematical Expression Operations of addition, subtraction, multiplication, and division.

First of all, I will use python syntax (leveraging on the eval() python function) to make a Console/CLI (Command Line Interface) program, then convert it into a Graphical User Interface (GUI) app so that users have much more control of it.
I will use the CLI program to explain some python basic syntax for those who may be struggling with understanding of the python basics.

If you feel you need to learn/refresh your python knowledge, then I recommend reading this book “A Bytes of Python” by Swaroop C H.

By the way, some popular software vendors using what we are about to learn to power there software include;-,,, and (Source:

Basic requirements for this class are:-
~ Basic knowledge of Python programming – I will do my best to simplify the process of this tutorial as much as possible, so everyone will be able to follow along.
~ A Windows Operating System (OS) machine (other OS users can follow along as well) - I am using 32-bit OS computer using the Windows-7 operating system.
~ Python2 interpreter, Text editor, wxPython library, wxFormBuilder, Py2Exe, and Inno Setup Compiler – I will show you how to get and install all of these software soon.

Before we start installing and configuring the software we will be using, let me quickly explain what each of them will be used for and where to get/download them;-

Python 2.x interpreter
Python is an easy to learn, dynamic and powerful modern programming language. Two similar but incompatible versions of Python are in widespread use (Python2.x and Python3.x). Pls note that we will use Python2.x for this class, download the version for your OS below.

wxPython is a free GUI toolkit which can be used to build Python GUIs. It is a wrapper for the cross-platform C++ GUI API wxWidgets. Some other GUI library/toolkits for Python include; Tkinter, PySide/PyQt, Kivy and PyGTK

Py2Exe is a Python Distutils extension which converts python scripts into executable windows programs, able to run without requiring a python installation. Some other Python extension/library which converts python scripts into executable programs are; PyInstaller, Py2app, cx_Freeze, bbFreeze, and vendorID

wxFormBuilder is a free Python GUI constructor toolkit for wxWidgets GUI design which can be used to build Python GUIs. Similar python GUI constructor toolkits are wxGlade, Boa Constructor, PythonCard and wxDesigner

InnoSetup Compiler
Inno Setup is used to create installer for Windows programs. Similar programs are NSIS and WiX
Download link:

For sure, you also need a text editor if you don’t have one already, you can get NotePad++ at:

Hope you enjoyed this class? See you next time!

No comments:

Post a Comment