[Tutor] interface

Alan Gauld alan.gauld at btinternet.com
Mon Dec 14 19:52:58 EST 2015


On 14/12/15 21:48, Alex Kleider wrote:

> provide a graphical interface.  There are several choices with pros and
> cons to each but an alternative more general approach might be to use a
> web based interface which I believe would make the code less platform
> dependent.

Not necessarily since the web server end still needs to live on
a particular OS platform and any OS level operations will be
just as restrictive for a web app as for a GUI. But a web app
is able to be opened up to multiple platforms as clients so
it depends on how you intend to deploy  it. If its just for
you (or for any one user) then the web doesn't help much
and adds lots of extra learning.

A GUI will involve new concepts too and a lot more code than
a CLI like you have been using. But a web app will require
whole new languages(HTML/CSS/Javascript) as well as new
concepts. A much steeper learning curve unless you already
come from a web background.

The simplest GUI framework is Tkinter, but its also fairly
limiting longer term. For putting a quick form interface
on top of an existing app its great but for a full GUI
app its less effective. It also has virtually no GUI
builder tool support.

wxPython is slightly more complex but more powerful and
looks more like the native UI on each platform. (There
is also Dabo which is wxPython based but has an IDE with
GUI builder and is very good for database oriented apps.)

pyQt/Side and PyGTK are both much more complex but also
more powerful. IDES with GUI Builders exist for both
although none of them worked very well for me.

They are all cross platform and you more or less trade
power and flexibility for simplicity. Personally I'd start
with Tkinter  - its a good general intro to the concepts of
GUI programming and standard Python so portable to other
users without extra downloads. Then decide which of the
other three to migrate too if you need more power.
Personally I find Tkinter good enough for almost all
my GUI needs, but I'm not distributing them or selling
them.

All of the above is strictly my personal opinion of
course. Others may disagree.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos




More information about the Tutor mailing list