Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Graphic User Interfaces (GUIs)

Many of the scripting languages we teach include the ability to provide a GUI - a Graphic User Interface. I'll describe some particular GUIs later in this article, but let's start with ...

THE PRINCIPLES OF GUI PROGRAMMING

Writing a GUI based program is very different to writing a command line one - although you'll find if you've done a good design that you can use shared named blocks of code (subs, procs, functions or methods depending on the language) from both so you shouldn't have a major rework to write a GUI.

All the programming work of a GUI is done in the SETUP CODE.
 You define a set of components (commonly known as widgets) which you want to appear
 You describe how they're to be laid out using a geometry manager
 You give a list of things that may happen (events) and define what's to
happen when an event occurs

And you then enter a main program loop that
 Displays the GUI
 Awaits events
 Acts on the events

COMMONLY AVAILABLE GUIS

Tk - "Toolkit". Originally written by John Ousterhout to go with Tcl, Tcl/Tk is now a major use of Tcl - the Tool Control Language. It's also available in Python (Tkinter) and in Perl (Perl/Tk), though not as widely used there as it is with Tcl
 Links
- Tcl/Tk information and training - Tkinter information and training - Perl/Tk information and training
wx - as in wxPython. A more recent windowing system originating from Python's support of the Windows Graphics look and feel. Now gaining great popularity.
 Link
- wxPython information and training
Qt - Qt is a very powerful GUI library written in C++ and originally intended as a GUI for that language; it's available and well supported by Python.
 Link
- PyQt information and training
AWT and Swing - The AWT (Abstract Windowing Toolkit) is Java's low level GUI. More complex components which allow realistic code to be written within sorter pieces of code may be found in Swing.

PHP isn't often used for stand alone applications, but you
can use it through a GUI with GTK.
All of the GUIs mentioned are available / can run on Windows systems, on Mac OS X systems, and on Linux and Unix systems running the X Windows system; in the majority of cases, they'll use the graphics and the look and feel of those systems.

If you're writing a web application, you're likely to design the look and feel of your page (your GUI) using HTML and then use a system such as CGI (programmed in Perl of Python) or PHP in order to provide the equivalent of event handling.
 Links
- Perl and Perl on the Web training - Python (including web use) training - PHP training

See also 2 day course - the Tk GUI

Please note that articles in this section of our web site were current and correct to the best of our ability when published, but by the nature of our business may go out of date quite quickly. The quoting of a price, contract term or any other information in this area of our website is NOT an offer to supply now on those terms - please check back via our main web site

Related Material

Perl/Tk
  [595] - ()
  [596] - ()
  [599] - ()
  [738] - ()
  [1310] - ()
  [1340] - ()
  [3009] - ()

Additional PHP Material
  [54] - ()
  [239] - ()
  [320] - ()
  [322] - ()
  [337] - ()
  [372] - ()
  [468] - ()
  [483] - ()
  [493] - ()
  [563] - ()
  [603] - ()
  [665] - ()
  [687] - ()
  [789] - ()
  [806] - ()
  [822] - ()
  [839] - ()
  [917] - ()
  [937] - ()
  [1010] - ()
  [1020] - ()
  [1053] - ()
  [1104] - ()
  [1194] - ()
  [1270] - ()
  [1389] - ()
  [1390] - ()
  [1391] - ()
  [1451] - ()
  [1485] - ()
  [1505] - ()
  [1519] - ()
  [1623] - ()
  [2073] - ()
  [2215] - ()
  [2684] - ()
  [3118] - ()
  [3210] - ()
  [4655] - ()

Python and the Qt GUI
  [1036] - ()
  [2744] - ()
  [2746] - ()

wxPython
  [903] - ()
  [2013] - ()
  [2744] - ()
  [2887] - ()
  [3081] - ()
  [3086] - ()
  [3092] - ()
  [3139] - ()
  [4589] - ()

Tcl/Tk - Introduction to Tk
  [595] - ()
  [2040] - ()
  [4208] - ()
  [4460] - ()

Java - Abstract Windowing Toolkit
  [1325] - ()
  [2245] - ()
  [2649] - ()
  [2654] - ()
  [3049] - ()

Ruby GUIs, XML, SQL Database Connectivity
  [1890] - ()
  [2714] - ()
  [4006] - ()
  [4679] - ()

Extending Graphics in Java
  [1325] - ()
  [1326] - ()

Object Orientation and General technical topics - GUI principles
  [2746] - ()
  [3081] - ()
  [4258] - ()
  [4589] - ()

resource index - Deployment
Solutions centre home page

You'll find shorter technical items at The Horse's Mouth and delegate's questions answered at the Opentalk forum.

At Well House Consultants, we provide training courses on subjects such as Ruby, Lua, Perl, Python, Linux, C, C++, Tcl/Tk, Tomcat, PHP and MySQL. We're asked (and answer) many questions, and answers to those which are of general interest are published in this area of our site.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/solutions/general- ... -guis.html • PAGE BUILT: Wed Mar 28 07:47:11 2012 • BUILD SYSTEM: wizard