Total Python Newbie needs geting started info.

Christopher Welborn cjwelborn at live.com
Wed Nov 20 23:14:16 EST 2013


On 11/20/2013 10:03 AM, Ev J wrote:
> I am learning Python and wish to develop GUI applications to run on Windows.
> I have installed the Visual Studio integrated shell (Ver. 12.0.21005.1 REL) IDE and the Python 3.3 interpreter. I have gone through some of the 3.3 tutorial available at http://docs.python.org/3.3/tutorial/.
>
> The tutorial is all about using the interactive interrupter and writing little console programs to learn the language.
>
> Before I go too far down this road, I need to know if I can/should use this environment to develop GUI applications.  Is there graphical support for this - for example I can I just insert/move/set properties of buttons, combo boxes, etc. using an interface like the one in VBA?
>
> If not, what is the best free IDE for me to use?
> What is the best tutorial for the IDE?
>
> I am a bit overwhelmed as to how to get started.
>
> Thanks for any help.
>
>
>

+1 for GTK. It takes a minute to get used to coming from a VB background 
(VB spoils people with its easy GUI builder). You write your own signal 
handlers with GTK (and other GUI libs also), instead of having it 
'auto-created' along with the button when its dropped. You also learn a 
lot more. Qt and Wx look good, I just don't have any experience with 
them. Glade for GTK is a very good GUI builder, but again, coming from 
VB it's not what you think. It only generates a glade file (XML-like 
file containing the layout for the GUI), but it's up to you to fill in 
the actual code. The process is something like this:

Build a gui with glade and save it.

Load .glade file in your python code. (builder.add_from_file(myfile))
(where builder is a Gtk.Builder())

Grab objects from it. (self.button1 = builder.get_object('Button1'))
(where Button1 is the name of a GtkButton in the glade file.)

Write signal handlers. (def button1_clicked_cb(self, btn):)
(signal names can be defined in glade)

Connect signals (builder.connect_signals(self))
(where self is a class containing the signal handlers)


I'm no expert at it, but I really like using it. There are different 
approaches and styles for using Gtk, so don't think my 'process' is set 
in stone. Someone else here may have a different view. The great thing 
about Gtk is the amount of control you have over everything. Large 
projects may require a different style than small ones.
-- 

- Christopher Welborn <cjwelborn at live.com>
   http://welbornprod.com




More information about the Python-list mailing list