IDE for GUI development in Python

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

IDE for GUI development in Python

Matt K-2
Hi all,

I'm looking at using a GUI IDE for helping my high school students to learn GUI programming. The kind of interface which Visual Basic offers... but in Python.

I've found Blackadder so far, but its not free (or finished!) Do any of you have any (ideally free) suggestions?

Thanks

_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

Winston Wolff
PythonCard is pretty nice when it works.  I found it finicky but better than most.

-Winston


On Aug 10, 2008, at 9:28 PM, Matt K wrote:

Hi all,

I'm looking at using a GUI IDE for helping my high school students to learn GUI programming. The kind of interface which Visual Basic offers... but in Python.

I've found Blackadder so far, but its not free (or finished!) Do any of you have any (ideally free) suggestions?

Thanks
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig



Winston Wolff
Stratolab - Learning by Creating
(646) 827-2242 - http://stratolab.com


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

kirby urner-4
In reply to this post by Matt K-2
Learning GUI programming fundamentals is best accomplished with a
straight text editor IMO (vim, scintilla, whatever).

Dragging and dropping widgets from a tools palette is convenient, but
not the best way to learn GUI programming, as such IDEs tend to
insulate from the details, not teach them -- why VB in general is not
a good learning environment, a common mistake many schools make.

John Zelle's book using Tk is a good one.

I recommend intro classes go through quite a number of widget
libraries, each time doing nothing too difficult, using Gtk, wx, Qt,
even AWT via Jython maybe.  Students get a feel for what's common
(window concept), what's different (e.g. event model).

Most importantly, a lot of GUI development = web pages for visuals
these days, not thick client at all, so if the point of the course
really is GUI development, then JavaScript/CSS, some exposure to web
frameworks, e.g. ASP, is a must.

Kirby


2008/8/10 Matt K <[hidden email]>:

> Hi all,
>
> I'm looking at using a GUI IDE for helping my high school students to learn
> GUI programming. The kind of interface which Visual Basic offers... but in
> Python.
>
> I've found Blackadder so far, but its not free (or finished!) Do any of you
> have any (ideally free) suggestions?
>
> Thanks
>
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig
>
>
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

mdipierro
I have not used but according to
http://www.riverbankcomputing.co.uk/software/pyqt/intro

"Qt also includes  Qt Designer, a graphical user interface designer.  
PyQt is able to generate Python code from Qt Designer. It is also  
possible to add new GUI controls written in Python to Qt Designer."

Qt designer is fantastic http://trolltech.com/products/qt/features/ 
tools/designer

Massimo

On Aug 10, 2008, at 9:28 PM, kirby urner wrote:

> Learning GUI programming fundamentals is best accomplished with a
> straight text editor IMO (vim, scintilla, whatever).
>
> Dragging and dropping widgets from a tools palette is convenient, but
> not the best way to learn GUI programming, as such IDEs tend to
> insulate from the details, not teach them -- why VB in general is not
> a good learning environment, a common mistake many schools make.
>
> John Zelle's book using Tk is a good one.
>
> I recommend intro classes go through quite a number of widget
> libraries, each time doing nothing too difficult, using Gtk, wx, Qt,
> even AWT via Jython maybe.  Students get a feel for what's common
> (window concept), what's different (e.g. event model).
>
> Most importantly, a lot of GUI development = web pages for visuals
> these days, not thick client at all, so if the point of the course
> really is GUI development, then JavaScript/CSS, some exposure to web
> frameworks, e.g. ASP, is a must.
>
> Kirby
>
>
> 2008/8/10 Matt K <[hidden email]>:
>> Hi all,
>>
>> I'm looking at using a GUI IDE for helping my high school students  
>> to learn
>> GUI programming. The kind of interface which Visual Basic  
>> offers... but in
>> Python.
>>
>> I've found Blackadder so far, but its not free (or finished!) Do  
>> any of you
>> have any (ideally free) suggestions?
>>
>> Thanks
>>
>> _______________________________________________
>> Edu-sig mailing list
>> [hidden email]
>> http://mail.python.org/mailman/listinfo/edu-sig
>>
>>
> _______________________________________________
> Edu-sig mailing list
> [hidden email]
> http://mail.python.org/mailman/listinfo/edu-sig

_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

DeanG
In reply to this post by Matt K-2
Wing IDE requires an external GUI but the free 101 version along with
an external designing tool may work for you.  They've also got steep
educational licenses.

http://www.wingware.com/wing101

- Dean
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

David MacQuigg
In reply to this post by Matt K-2
At 07:28 PM 8/10/2008 -0700, kirby urner wrote:

>Learning GUI programming fundamentals is best accomplished with a
>straight text editor IMO (vim, scintilla, whatever).

I'll second that.  Learn just a few simple widgets in Tk.  It's not that much typing.  I've also used BlackAdder and Qt (years ago).  BlackAdder was a mess.  Qt has more polish than Tk, but the detail can be overwhelming for students.

Don't forget IDLE, the built-in editor for Python.  Superb!  The only problem is if your GUI uses an event loop, there will be a conflict when you run it from IDLE, which also uses Tk event loops.  Just run your GUI app from a command line instead of the Run command in IDLE, and things should be OK.

>Dragging and dropping widgets from a tools palette is convenient, but
>not the best way to learn GUI programming, as such IDEs tend to
>insulate from the details, not teach them -- why VB in general is not
>a good learning environment, a common mistake many schools make.
>
>John Zelle's book using Tk is a good one.

Good choice.

-- Dave


>2008/8/10 Matt K <[hidden email]>:
>> Hi all,
>>
>> I'm looking at using a GUI IDE for helping my high school students to learn
>> GUI programming. The kind of interface which Visual Basic offers... but in
>> Python.
>>
>> I've found Blackadder so far, but its not free (or finished!) Do any of you
>> have any (ideally free) suggestions?
>>
>> Thanks
>>
>> _______________________________________________
>> Edu-sig mailing list
>> [hidden email]
>> http://mail.python.org/mailman/listinfo/edu-sig
>>
>>
>_______________________________________________
>Edu-sig mailing list
>[hidden email]
>http://mail.python.org/mailman/listinfo/edu-sig


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

Matt K-2
In reply to this post by Matt K-2
Thanks for all the suggestions!
Here are the responses (from both mailing lists):

Winston - PythonCard looks interesting. However I cannot see any sample code on the website. Would you be able to send me some sample code that your students may have written? Just a small amount so that I can gauge the simplicity for my students.

Garry - I'm after software to help students design their own GUI, rather than simply a graphical programming environment. Sorry that I was unclear!

Kirby - What level do you teach? I'm teaching Year 11 students and my goal is certainly not for students to be competent at programming GUIs. My goal is for them to be competent at the basics: loops, data structures etc. I'm hiding many things from them including classes - although we do use classes we use them as no more than a C struct (since this is in line with the secondary school curriculum). Occasionally we need to deviate from this but this is vary rare. The need for GUI is because we are coding a real world problem which requires a GUI. Hence I am after something that is quick and simple, and I don't mind if they come out saying "I really understand programming although I don't really get how the GUI linked in."

Massimo, web2py - I'm looking for a non-web based solution. We already do cgi-scripting in Year 10 and the project will involve some cgi. But it also needs a stand-alone executable (for a different set of users).

Massimo, QT - I have the same comment as I gave to Winston, above. Do you have any sample code from students who have written a relatively simplistic GUI?

Tim and Dean - Wing looks fantastic as a development environment and I will consider switching to it for the general Python programming (replacing the Python IDLE which we're mostly using at the moment). That being said it doesn't offer direct GUI development tools so it doesn't solve my short term problem.

David - I appreciate your comments re: BlackAdder and Qt. And my reservation with Tk is not the typing... its that the students will not understand the code that they are typing sufficiently well to be able to modify it.


Thanks so much for all your help - further comments are still welcome =)
Matt



On Mon, Aug 11, 2008 at 11:28 AM, Matt K <[hidden email]> wrote:
Hi all,

I'm looking at using a GUI IDE for helping my high school students to learn GUI programming. The kind of interface which Visual Basic offers... but in Python.

I've found Blackadder so far, but its not free (or finished!) Do any of you have any (ideally free) suggestions?

Thanks


_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

mdipierro

On Aug 12, 2008, at 1:10 AM, Matt K wrote:
Massimo, web2py - I'm looking for a non-web based solution. We already do cgi-scripting in Year 10 and the project will involve some cgi. But it also needs a stand-alone executable (for a different set of users).

I'd suggest using WSGI instead of CGI. CGI is slow and does not support streaming. web2py is based on WSGI and you can distribute your apps with the framework as a stand alone executable (when you click on it it starts web server, database, and your app in the UI in the browser). On Windows and Mac it does not require having Python installed.

Massimo, QT - I have the same comment as I gave to Winston, above. Do you have any sample code from students who have written a relatively simplistic GUI?

Sorry. I have not.

Massimo

_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

kirby urner-4
In reply to this post by Matt K-2
2008/8/11 Matt K <[hidden email]>:
> Thanks for all the suggestions!
> Here are the responses (from both mailing lists):

<< SNIP >>

> Kirby - What level do you teach? I'm teaching Year 11 students and my goal
> is certainly not for students to be competent at programming GUIs. My goal
> is for them to be competent at the basics: loops, data structures etc. I'm
> hiding many things from them including classes - although we do use classes
> we use them as no more than a C struct (since this is in line with the
> secondary school curriculum). Occasionally we need to deviate from this but
> this is vary rare. The need for GUI is because we are coding a real world
> problem which requires a GUI. Hence I am after something that is quick and
> simple, and I don't mind if they come out saying "I really understand
> programming although I don't really get how the GUI linked in."

Hi Matt.

My students have tended to be pre-college and have not been that GUI
focused, though we've done some, mostly I tell a lot of stories around
how GUIs came to be, in contrast to command line, what's a widget.

We might just play with one widget, like a pull down, maybe in a web
browser though, the control having been written and populated by
server-side Python.

An example with some widgets might be
http://www.4dsolutions.net/ocn/geoquiz.html which is also about CGI
and SQL.

I make no effort to sync with the ambient high school curriculum, but
rather work backwards from what I think is a very usable set of
concepts and skills, try to redesign the curriculum for the 21st
century vs. the 19th (yeah, we had to skip one to catch up).

This is easier for me because I'm not beholden to layers of
administrators who believe the status quo is acceptable.

I also have been known to download wxPython and project the demo (easy
to flip to source code for each example).

Maybe show Jython (I also talk a lot about how Tk itself is a widgets
library, ported across systems, and since we're using IDLE much of the
time, we're already in a working GUI, one that includes a shell or
interactive front end).

I'm moving to a new business model where I'll use my Ubuntu laptop
more, am especially interested in PDF generation using such as PyCairo
and ReportLab, working with adults (many of them faculty of this or
that institution).

Kirby
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig
Reply | Threaded
Open this post in threaded view
|

Re: IDE for GUI development in Python

David Boddie
In reply to this post by Matt K-2
On Tue Aug 12 08:10:16 CEST 2008, Matt K wrote:

> *Massimo, QT* - I have the same comment as I gave to Winston, above. Do you
> have any sample code from students who have written a relatively simplistic
> GUI?

In theory, it should be possible for students to grasp the kind of event-
based programming you see with GUIs. Something I've wanted to do is to
take the content of this talk and make it more tutorial-like:

http://indico.cern.ch/contributionDisplay.py?contribId=33&sessionId=41&confId=44

These days, with a good interactive environment, the code snippets given in
the talk are basically usable in the form in which they are presented.
(Recent versions of PyQt4 can run the event loop in the interactive Python
shell, for example, so the process of creating and showing windows is more
or less interactive.)

> *David* - I appreciate your comments re: BlackAdder and Qt. And my
> reservation with Tk is not the typing... its that the students will not
> understand the code that they are typing sufficiently well to be able to
> modify it.

BlackAdder is very old now, and PyQt users typically prefer Eric3, Eric4
or something like Sandbox:

http://www.qtrac.eu/sandbox.html

David
_______________________________________________
Edu-sig mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/edu-sig