By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,712 Members | 1,591 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,712 IT Pros & Developers. It's quick & easy.

python GUIs comparison (want)

P: n/a
Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
:)Sorry for my poor english.

Oct 24 '06 #1
Share this Question
Share on Google+
44 Replies


P: n/a

ji**********@gmail.com wrote:
Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
:)Sorry for my poor english.
I like Pythoncard. Simple. Get the job done fast.

Oct 24 '06 #2

P: n/a
ji**********@gmail.com wrote:
Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
:)Sorry for my poor english.
I googled "python gui compare" a while back and got
www.awaretek.com/toolkits.html as the first result.

Every variation on the values I entered seemed to point me to wxPython,
which I'm still using now. However, they seem to think that EasyGUI is
the easiest to learn, but that it suffers on "Maturity, documentation,
breadth of widget selection".

All the best,

Cameron.
Oct 24 '06 #3

P: n/a
Cameron Walsh wrote:
>
I googled "python gui compare" a while back and got
www.awaretek.com/toolkits.html as the first result.
See also the python.org Wiki for more information:

http://wiki.python.org/moin/UsefulModules
http://wiki.python.org/moin/GuiProgramming (big list!)
Every variation on the values I entered seemed to point me to wxPython,
which I'm still using now. However, they seem to think that EasyGUI is
the easiest to learn, but that it suffers on "Maturity, documentation,
breadth of widget selection".
The figures behind the scenes are quite enlightening for that
particular page. If you (or community experiences) don't agree with the
rankings (wxPython apparently even easier to learn than PythonCard and
Tkinter, a bunch of Gtk-based toolkits having more or less "full" Linux
scores) then you'll have some surprises, I'm sure. Nevertheless, it's
an interesting concept.

Paul

Oct 24 '06 #4

P: n/a
On 23 Oct 2006 22:07:39 -0700, ji**********@gmail.com
<ji**********@gmail.comwrote:
Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
I've used several, and I think that Dabo (http://dabodev.com) is the
best choice. Dabo is an entire application framework, but you can just
use the dabo.ui parts if that's all you need. Then when you are no
longer a beginner and you want to develop more complex apps, you won't
need to change tools.

--

# p.d.
Oct 24 '06 #5

P: n/a
ji**********@gmail.com wrote:
Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
:)Sorry for my poor english.
Tkinter:
Pro: Default GUI library for Python; stable; well-supported
Con: Needs extension for complex/rich GUI's; core widgets are dated in
look and feel; many modern extensions in Tcl/Tk have not made it into
Tkinter or are not widely used (Tile, Tablelist)

wxPython:
Pro: Popular, actively developed, wraps native widgets, looks great on
Windows, commercial-friendly license
Con: Based on C++ toolkit; docs assume knowledge of C++; some think
coding style is too much like C++; complex to build and deploy on Linux
(wraps Gtk)

PyQt:
Pro: Powerful, cross-platform, sophisticated GUI's
Con: Based on C++ toolkit; docs assume knowledge of C++; commercial
deployment is expensive; free deployment must be GPL; smaller
development and user community than wxPython

PyGtk:
Pro: Sophisticated GUI's, cross-platform (Linux and Win32); very popular
on some platforms; active development community
Con: Not native on OS X

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
Oct 24 '06 #6

P: n/a
Kevin Walzer a écrit :
ji**********@gmail.com wrote:
>Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
:)Sorry for my poor english.

Tkinter:
Pro: Default GUI library for Python; stable; well-supported
Con: Needs extension for complex/rich GUI's; core widgets are dated in
look and feel; many modern extensions in Tcl/Tk have not made it into
Tkinter or are not widely used (Tile, Tablelist)
Also, the Tkinter API is far less elegant than the others.
wxPython:
Pro: Popular, actively developed, wraps native widgets, looks great on
Windows, commercial-friendly license
Con: Based on C++ toolkit; docs assume knowledge of C++; some think
coding style is too much like C++; complex to build and deploy on Linux
(wraps Gtk)
See PyQt remarks. And I would add that the coding style is too much like
MFC and Win32 as a con.
PyQt:
Pro: Powerful, cross-platform, sophisticated GUI's
Con: Based on C++ toolkit; docs assume knowledge of C++; commercial
deployment is expensive; free deployment must be GPL; smaller
development and user community than wxPython
Since when is "based on C++ toolkit" a con?
PyGtk:
Pro: Sophisticated GUI's, cross-platform (Linux and Win32); very popular
on some platforms; active development community
Con: Not native on OS X
You forgot that it is rather buggy on Win32 ( in my experience )
Oct 24 '06 #7

P: n/a
Christophe wrote:
Since when is "based on C++ toolkit" a con?
If you don't know C++ (as is the case with me), then it's difficult to
do a C++-to-Python translation in looking at code examples.

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
Oct 24 '06 #8

P: n/a
Kevin Walzer a écrit :
Christophe wrote:
>Since when is "based on C++ toolkit" a con?

If you don't know C++ (as is the case with me), then it's difficult to
do a C++-to-Python translation in looking at code examples.
As if a toolkit based on C would be much easier.

In fact, I would even say that C++ -Python is much much easier than C
-Python for GUI toolkits.
Oct 24 '06 #9

P: n/a
Christophe wrote:
Also, the Tkinter API is far less elegant than the others.
huh? create object, display object, create object, display object.
sure looks like plain old Python to me...

</F>

Oct 24 '06 #10

P: n/a
Ron Stevens of the Python411 podcast(1) has some good info on these. He
did an entire podcast(2) comparing different Python GUI tools, and did
several others in greater detail, including specifically on wyPython and
Tkinter. You can also subscribe to the RSS feed(3). The main page has
titles for all of the podcasts and direct links to the mp3s.

Shawn

1. http://www.awaretek.com/python/
2. http://libsyn.com/media/awaretek/Pyt...UItoolkits.mp3
3. http://www.awaretek.com/python/index.xml
Oct 24 '06 #11

P: n/a
Christophe wrote:
Kevin Walzer a écrit :
>Christophe wrote:
>>Since when is "based on C++ toolkit" a con?

If you don't know C++ (as is the case with me), then it's difficult to
do a C++-to-Python translation in looking at code examples.

As if a toolkit based on C would be much easier.

In fact, I would even say that C++ -Python is much much easier than C
-Python for GUI toolkits.
Well, Tk isn't *based* on C (it's written in C, but it doesn't wrap a
lower-level GUI framework for C). Tk is my preferred toolkit. But then,
I'm a Tcl developer by background, and less experienced with Python.

For what it's worth, the reason I learned Tcl before Python is because I
wanted to learn a GUI package that was native/specific to the
programming language in question, and Tcl/Tk is the only instance of
this in scripting languages. With Python, as far as I know, every GUI
toolkit in question was developed for another language (Tcl, C/C++,
etc.), and is wrapped by Python. It makes learning GUI programming in
Python a daunting task for a newbie.

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
Oct 24 '06 #12

P: n/a
On 10/24/06, Kevin Walzer <kw@kevin-walzer.comwrote:
wxPython:
Pro: Popular, actively developed, wraps native widgets, looks great on
Windows, commercial-friendly license
Con: Based on C++ toolkit; docs assume knowledge of C++; some think
coding style is too much like C++; complex to build and deploy on Linux
(wraps Gtk)
I agree with this assessment. I hated writing the code in wxPython,
since it was very ugly, with tons of getters/setters lots of constants
and ids WRITTEN_IN_ALL_CAPS. Yuck.

That's why I think you and others are doing a grave disservice by
ignoring Dabo. With Dabo, you get the best-looking toolkit across
platforms (wxPython), but a clean, Pythonic API with none of the C++
crud. I've been a dozen times more productive since I switched to
doing my UI code in dabo.ui, and even better, I don't have to
constantly look up the names of the appropriate constants, etc. - the
API is that much more consistent.

--

# p.d.
Oct 24 '06 #13

P: n/a
I have to say that py-gtk is a pain to install. You have copywrites
with the various parts of the library when you install all of it with
apple and the people that do the pill library. I am looking at
wxwindows and maybe vpython for graphics (If it will do what I want).
wx.grid is a pain thus far but once you get it seems to work realy
well. You load dabo and then load your program through dabo... That
was all I needed to know to disregard it.

http://www.dexrow.com


Peter Decker wrote:
On 10/24/06, Kevin Walzer <kw@kevin-walzer.comwrote:
wxPython:
Pro: Popular, actively developed, wraps native widgets, looks great on
Windows, commercial-friendly license
Con: Based on C++ toolkit; docs assume knowledge of C++; some think
coding style is too much like C++; complex to build and deploy on Linux
(wraps Gtk)

I agree with this assessment. I hated writing the code in wxPython,
since it was very ugly, with tons of getters/setters lots of constants
and ids WRITTEN_IN_ALL_CAPS. Yuck.

That's why I think you and others are doing a grave disservice by
ignoring Dabo. With Dabo, you get the best-looking toolkit across
platforms (wxPython), but a clean, Pythonic API with none of the C++
crud. I've been a dozen times more productive since I switched to
doing my UI code in dabo.ui, and even better, I don't have to
constantly look up the names of the appropriate constants, etc. - the
API is that much more consistent.

--

# p.d.
Oct 24 '06 #14

P: n/a
On 24 Oct 2006 16:38:28 -0700, Er*********@msn.com <Er*********@msn.comwrote:
You load dabo and then load your program through dabo... That
was all I needed to know to disregard it.
Wow - inaccurate and proud of it!

Your loss.

--

# p.d.
Oct 25 '06 #15

P: n/a
On Tuesday 24 October 2006 17:38, Kevin Walzer wrote:
PyQt:
Pro: Powerful, cross-platform, sophisticated GUI's
Con: Based on C++ toolkit;
That's not a bad thing in itself.
docs assume knowledge of C++;
Only to a point. I knew Python before I knew C++, and it didn't stop
me from learning PyQt. Think of it as an easy introduction to C++. ;-)

Actually, when it comes to code snippets and examples for Qt, you
only really need to perform some basic search and replace operations
to get close to the same code in Python:

:: maps to .
- maps to .
this maps to self
&& maps to and
|| maps to or

and so on. Unless you're just copying the code out of the browser,
it should be fairly straightforward to follow.
commercial deployment is expensive; free deployment must be GPL;
Opinions differ on the first one of these. It's a matter of
perspective.
smaller development and user community than wxPython
Can you back that up with some numbers?

David
Oct 25 '06 #16

P: n/a
David Boddie wrote:
>commercial deployment is expensive; free deployment must be GPL;

Opinions differ on the first one of these.
even if you define "expensive" as "costs more money than the others" ?

</F>

Oct 25 '06 #17

P: n/a
Fredrik Lundh a écrit :
David Boddie wrote:
>>commercial deployment is expensive; free deployment must be GPL;

Opinions differ on the first one of these.

even if you define "expensive" as "costs more money than the others" ?
Even if you consider that the huge time saving you get out of using Qt
is worth more than what you pay to acquire a licence?

That's the idea anyway.
Oct 25 '06 #18

P: n/a
Fredrik Lundh a écrit :
Christophe wrote:
>Also, the Tkinter API is far less elegant than the others.

huh? create object, display object, create object, display object. sure
looks like plain old Python to me...
Let's see :

..pack(side = "left")

fred = Button(self, fg = "red", bg = "blue")
fred["fg"] = "red"

fred.bind("<Enter>", turnRed)

Yep, unelegant API I mantain it.

And no modern layout manager available. Only those old school
left/right/up/down pack and anchors are available.
Oct 25 '06 #19

P: n/a
Christophe wrote:
>>>commercial deployment is expensive; free deployment must be GPL;

Opinions differ on the first one of these.
even if you define "expensive" as "costs more money than the others" ?

Even if you consider that the huge time saving you get out of using Qt
is worth more than what you pay to acquire a licence?
then it sounds like a combination between "it's a silver bullet!" and
"commercial software is better than free software!".

no matter how good Qt is, the reality is that if you spend that much
time on the UI implementation parts of your project, you're probably
developing at the wrong abstraction level -- no matter what toolkit
you're using. and if you're doing UI development the wrong way, chances
are that you're doing other things the wrong way too.

</F>

Oct 25 '06 #20

P: n/a
Christophe wrote:
>>Also, the Tkinter API is far less elegant than the others.
huh? create object, display object, create object, display object. sure
looks like plain old Python to me...

Let's see :

.pack(side = "left")

fred = Button(self, fg = "red", bg = "blue")
fred["fg"] = "red"

fred.bind("<Enter>", turnRed)

Yep, unelegant API I mantain
yuck. if that's the kind of UI programs you're writing, we sure have
different design ideals.

and arguing that Tkinter is unelegant when you're doing silly things in
a silly way is a bit like arguing that Python is unelegant because your
first attempt to write a "hello world" program resulted in:

import sys
# .stdout.write("Hello World") # gives unusable error message
from sys import stdout as glah
glah.writelines(iter(" ".join(["h3110", "W0rlD"])))
And no modern layout manager available. Only those old school
left/right/up/down pack and anchors are available.
huh? when did you last look at Tk? 1994?

</F>

Oct 25 '06 #21

P: n/a
Fredrik Lundh a écrit :
Christophe wrote:
>>>Also, the Tkinter API is far less elegant than the others.
huh? create object, display object, create object, display object.
sure looks like plain old Python to me...

Let's see :

.pack(side = "left")
----
>fred = Button(self, fg = "red", bg = "blue")
fred["fg"] = "red"
----
>fred.bind("<Enter>", turnRed)
----
>Yep, unelegant API I mantain

yuck. if that's the kind of UI programs you're writing, we sure have
different design ideals.
Those are all small code examples you find in the Python manual! They
are not a working program in itself and should not be taken so. I just
state my point about an ugly API with them.
and arguing that Tkinter is unelegant when you're doing silly things in
a silly way is a bit like arguing that Python is unelegant because your
first attempt to write a "hello world" program resulted in:

import sys
# .stdout.write("Hello World") # gives unusable error message
from sys import stdout as glah
glah.writelines(iter(" ".join(["h3110", "W0rlD"])))
>And no modern layout manager available. Only those old school
left/right/up/down pack and anchors are available.

huh? when did you last look at Tk? 1994?
Yesterday. In fact, I could find no mention at all of layout managers
others than those working with anchors. Anchors are soooo old school
nowadays :)

Honestly, I can't stand using anchors or the Packer anymore. The systems
used in wx, Qt are much better. Use them once and you cannot live
without them anymore.
Oct 25 '06 #22

P: n/a
Fredrik Lundh wrote:
Christophe wrote:
Even if you consider that the huge time saving you get out of using Qt
is worth more than what you pay to acquire a licence?

then it sounds like a combination between "it's a silver bullet!" and
"commercial software is better than free software!".
Well, nobody's stopping you from paying the commercial license fee (to
get access to support services) and releasing software under the GPL.
no matter how good Qt is, the reality is that if you spend that much
time on the UI implementation parts of your project, you're probably
developing at the wrong abstraction level -- no matter what toolkit
you're using. and if you're doing UI development the wrong way, chances
are that you're doing other things the wrong way too.
You're forgetting that Qt isn't just a widget toolkit.

David

Oct 25 '06 #23

P: n/a
Paul Boddie wrote:

"""The figures behind the scenes are quite enlightening for that
particular page. If you (or community experiences) don't agree with the

rankings (wxPython apparently even easier to learn than PythonCard and
Tinder, a bunch of Gtk-based toolkits having more or less "full" Linux
scores) then you'll have some surprises, I'm sure. Nevertheless, it's
an interesting concept. """

Well, I don't know what I was thinking, exactly, when I rated
PythonCard's ease of use...so I went back and changed it to rate it a
lot higher. The ratings in this script were done a long time ago now
and I need to re-do them, and add some new categories to rate also.
Maybe this weekend...

I have been thinking about doing a new version of this script that
allows visitors to the web site to enter their own ratings for each GUI
toolkit, for each criterion, store them by CGI and calculate a running
average of the ratings, maybe eliminating the very extreme high and low
scores to weed out spam, etc. Then, a visitor could use an online
script with each GUI toolkit rated by the "community" for each
criterion. I could do the same for Python IDE's, web frameworks, etc.

Still, these would still be toys and not to be taken too seriously, but
I might do it as a little project nonetheless.

Concerning GUI toolkits, I find myself coming back to Tkinter these
days. A lot of Python programs are written using Tkinter. I like to
fool around with a lot of the old stuff on the web for free,
miscellaneous apps and such, and there are still more Tkinter GUI's out
there than anything else.

Recently I have been having fun figuring out which new phone to buy. I
decided to get a smart phone that could run Python. If I lived in
Europe, or anywhere GSM rules, one of the Nokia series 60 would be a no
-brainer. But here in the USA, I will probably will wind up getting a
Windows based model.

Guess what: Folks have Tkinter up and running on Pocket PC's and
smartphones. I like that. Tkinter is everywhere. Don't forget, the
Komodo IDE has a Tk based GUI builder.

Just my 2 cents worth...

Ron Stephens

P.S. There is a 3 hour lecture by Dr. Sergio Rey of San Diego St. U. I
am putting up as a podcast. He teaches a course in Python in the
graduate department of Geographical Sciences. Python is heavily used in
that field of study (as is Tkinter).

The lecture is in 2 parts. Sound quality is excellent. <a
href="http://www.awaretek.com/python/index.html">Tkinter podcasts</a>

Oct 25 '06 #24

P: n/a
rd*****@mac.com wrote:
>
Well, I don't know what I was thinking, exactly, when I rated
PythonCard's ease of use...so I went back and changed it to rate it a
lot higher. The ratings in this script were done a long time ago now
and I need to re-do them, and add some new categories to rate also.
Maybe this weekend...
I know you're a big advocate of PythonCard, but if it weren't easier to
use than wxPython, then it would surely be hard to justify its
existence.
I have been thinking about doing a new version of this script that
allows visitors to the web site to enter their own ratings for each GUI
toolkit, for each criterion, store them by CGI and calculate a running
average of the ratings, maybe eliminating the very extreme high and low
scores to weed out spam, etc. Then, a visitor could use an online
script with each GUI toolkit rated by the "community" for each
criterion. I could do the same for Python IDE's, web frameworks, etc.

Still, these would still be toys and not to be taken too seriously, but
I might do it as a little project nonetheless.
A collaborative scoring application would be interesting and either
amusing or rather useful. It might have uses in other domains, too.
Concerning GUI toolkits, I find myself coming back to Tkinter these
days. A lot of Python programs are written using Tkinter. I like to
fool around with a lot of the old stuff on the web for free,
miscellaneous apps and such, and there are still more Tkinter GUI's out
there than anything else.
There's nothing particularly wrong about Tkinter as such, but if I were
doing serious user interface development these days, I'd have a hard
time justifying using Tkinter even though I was once a big fan of the
technology, Pmw and related stuff. Although people may assert that the
Tk scene is still vibrant, the intersection of Tk and Python doesn't
seem to have moved very far, despite Fredrik's efforts: what happened
to Tkinter 3000 or was that a codename for something else? And whilst
things like the Tk canvas were almost revolutionary back in the early
1990s, the momentum just doesn't seem to have been there to produce
similarly revolutionary things in the Tk universe today, at least as
far as I can tell.
Recently I have been having fun figuring out which new phone to buy. I
decided to get a smart phone that could run Python. If I lived in
Europe, or anywhere GSM rules, one of the Nokia series 60 would be a no
-brainer. But here in the USA, I will probably will wind up getting a
Windows based model.
I wonder whether we'll see Python plus user interface integration on
this device:

http://www.trolltech.com/products/qt...eenphone/index
Guess what: Folks have Tkinter up and running on Pocket PC's and
smartphones. I like that. Tkinter is everywhere. Don't forget, the
Komodo IDE has a Tk based GUI builder.
I guess a decent IDE comparison would make a good resource given the
repetitive "which IDE is best?" threads that appear on
comp.lang.python.
P.S. There is a 3 hour lecture by Dr. Sergio Rey of San Diego St. U. I
am putting up as a podcast. He teaches a course in Python in the
graduate department of Geographical Sciences. Python is heavily used in
that field of study (as is Tkinter).

The lecture is in 2 parts. Sound quality is excellent. <a
href="http://www.awaretek.com/python/index.html">Tkinter podcasts</a>
I'm a regular listener of your podcasts, and look forward to many more!

Paul

Oct 25 '06 #25

P: n/a
Paul Boddie wrote:
seem to have moved very far, despite Fredrik's efforts: what happened
to Tkinter 3000 or was that a codename for something else?
the first Tk3K project solved 95% of the problems (*) I had
with Tkinter:

http://effbot.org/zone/wck.htm

(especially when combined with OpenGL).

don't leave home without it.

</F>

*) the remaining five are better handled by application-specific
abstractions. like most other things in Python.

Oct 25 '06 #26

P: n/a

Well, I am woefully unqualified to speak to the general state of Python
gui frameworks, but I am in a similar situation as the OP, i.e., a
beginner looking to TRY some easy gui programming in Python. Not being
a computer science person, just an amateur scripter, I tend to learn
best from lots of examples.

With all of that as background, I downloaded the latest wxPython demos
and docs yesterday. I suggest that the OP do the same. The demo.py
program is an amazing piece of work. It's loaded with specific examples
which allow you to view the frame or dialog etc, and then look behind
it to see the code used to create it.

rd

Oct 25 '06 #27

P: n/a

BartlebyScrivener wrote:
Well, I am woefully unqualified to speak to the general state of Python
gui frameworks, but I am in a similar situation as the OP, i.e., a
beginner looking to TRY some easy gui programming in Python. Not being
a computer science person, just an amateur scripter, I tend to learn
best from lots of examples.

With all of that as background, I downloaded the latest wxPython demos
and docs yesterday. I suggest that the OP do the same. The demo.py
program is an amazing piece of work. It's loaded with specific examples
which allow you to view the frame or dialog etc, and then look behind
it to see the code used to create it.

rd

You can also download wxGlade and ask it to generate the code for you.
You just have to layout the components the way you want it, wxGlade
does the rest. Even though there are tons of wxWidgets components it
does not support, you can put something as a placeholder and just
replace the code later.

For looks, speed, ease of use (even though it is not Pythonic),
platform compatibility and use of native widgets, my vote goes to
wxPython. If you don't mind adding another layer (as I doubt the
runtime performance suffers much - if at all), there is dabo.ui (thanks
to whoever pointed it out to me).

PyQT looks good... under KDE, alien under Win32. PyGTK looks good under
Gnome, and acceptable on Win32, even if their widgets do not always act
as Win32 users would expect.

Oct 25 '06 #28

P: n/a
Stephen Eilert escreveu:
BartlebyScrivener wrote:
>Well, I am woefully unqualified to speak to the general state of Python
gui frameworks, but I am in a similar situation as the OP, i.e., a
beginner looking to TRY some easy gui programming in Python. Not being
a computer science person, just an amateur scripter, I tend to learn
best from lots of examples.

With all of that as background, I downloaded the latest wxPython demos
and docs yesterday. I suggest that the OP do the same. The demo.py
program is an amazing piece of work. It's loaded with specific examples
which allow you to view the frame or dialog etc, and then look behind
it to see the code used to create it.

rd


You can also download wxGlade and ask it to generate the code for you.
You just have to layout the components the way you want it, wxGlade
does the rest. Even though there are tons of wxWidgets components it
does not support, you can put something as a placeholder and just
replace the code later.

For looks, speed, ease of use (even though it is not Pythonic),
platform compatibility and use of native widgets, my vote goes to
wxPython. If you don't mind adding another layer (as I doubt the
runtime performance suffers much - if at all), there is dabo.ui (thanks
to whoever pointed it out to me).

PyQT looks good... under KDE, alien under Win32.
PyQt4 is already out and trust me... Is it great :o)

Phil is doing a great job with it and Detlev (Eric3/4 developer) already
released some snapshots of eric4, so the windows python users can expect
a great python enviroment in the future.
PyGTK looks good under
Gnome, and acceptable on Win32, even if their widgets do not always act
as Win32 users would expect.

Oct 25 '06 #29

P: n/a
David Boddie wrote:
You're forgetting that Qt isn't just a widget toolkit.
I suspect that the non-GUI parts are (just like in Wx) C++ stuff
which is more or less equivalent with things that are either Python
builtins or parts of Python's standard library. Besides, getting
those proprietary dependencies even further down into the code than
the GUI is not a plus in my book.

Last time I looked, Qt code wasn't even pure C++ but needed some
preprocessing like embedded SQL. Yet another programming language
in other words. I suppose I can ignore that from Python, but it
still smells...
Oct 27 '06 #30

P: n/a
On Friday 27 October 2006 16:36, Magnus Lycka wrote:
David Boddie wrote:
>You're forgetting that Qt isn't just a widget toolkit.

I suspect that the non-GUI parts are (just like in Wx) C++ stuff
which is more or less equivalent with things that are either Python
builtins or parts of Python's standard library. Besides, getting
those proprietary dependencies even further down into the code than
the GUI is not a plus in my book.
It depends on who you are. If you're writing GPL applications, whether
you use framework-specific classes for SQL, XML or networking (for
example) is more a question of making appropriate design choices.
If you're writing proprietary closed source applications, you're
probably paying for the benefits those dependencies bring.

One of the advantage of using Qt from Python is that you get a choice
of dependencies.
Last time I looked, Qt code wasn't even pure C++ but needed some
preprocessing like embedded SQL. Yet another programming language
in other words. I suppose I can ignore that from Python, but it
still smells...
You're referring to the meta-object compiler, I suppose. This has
been discussed many times by people who don't have the luxury of
being able to write all their code in Python; for example:

http://doc.trolltech.com/4.2/templates.html
http://www.scottcollins.net/articles...and-slots.html

It's a trade off that some people choose to make to take advantage
of those features. Of course, Python has a perfectly good type
system, so you never need to preprocess Python code when you use PyQt.

David
Oct 27 '06 #31

P: n/a
Christophe napisa³(a):
>PyGtk:
Pro: Sophisticated GUI's, cross-platform (Linux and Win32); very popular
on some platforms; active development community
Con: Not native on OS X

You forgot that it is rather buggy on Win32 ( in my experience )
Didn't observe any W32-specific bugy behaviour during over 2 years of
development of JPA using PyGTK.

--
Jarek Zgoda
http://jpa.berlios.de/
Oct 28 '06 #32

P: n/a
I have been using Tkinter for several years now. Recently I have been
thinking about switching to something else that may have a sharper
appearance. However I'm not sure what that may be, and if that
something else is *that* much better than what I'm already using.

Does everyone agree that wxPython looks best on Windows? I've also read
in a couple of places where Dabo looks pretty good as well.

So if someone were to pick a UI that gave the best appearance, what
would they choose?

Kevin Walzer wrote:
ji**********@gmail.com wrote:
Now i began to learn GUI programming. There are so many
choices of GUI in the python world, wxPython, pyGTK, PyQT,
Tkinter, .etc, it's difficult for a novice to decide, however.
Can you draw a comparison among them on easy coding, pythonish design,
beautiful and generous looking, powerful development toolkit, and
sufficient documentation, .etc.
It's helpful for a GUI beginner.
Thank you.
:)Sorry for my poor english.

Tkinter:
Pro: Default GUI library for Python; stable; well-supported
Con: Needs extension for complex/rich GUI's; core widgets are dated in
look and feel; many modern extensions in Tcl/Tk have not made it into
Tkinter or are not widely used (Tile, Tablelist)

wxPython:
Pro: Popular, actively developed, wraps native widgets, looks great on
Windows, commercial-friendly license
Con: Based on C++ toolkit; docs assume knowledge of C++; some think
coding style is too much like C++; complex to build and deploy on Linux
(wraps Gtk)

PyQt:
Pro: Powerful, cross-platform, sophisticated GUI's
Con: Based on C++ toolkit; docs assume knowledge of C++; commercial
deployment is expensive; free deployment must be GPL; smaller
development and user community than wxPython

PyGtk:
Pro: Sophisticated GUI's, cross-platform (Linux and Win32); very popular
on some platforms; active development community
Con: Not native on OS X

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
Nov 4 '06 #33

P: n/a
On 4 Nov 2006 08:23:40 -0800, Mudcat <mn******@gmail.comwrote:
I have been using Tkinter for several years now. Recently I have been
thinking about switching to something else that may have a sharper
appearance. However I'm not sure what that may be, and if that
something else is *that* much better than what I'm already using.

Does everyone agree that wxPython looks best on Windows? I've also read
in a couple of places where Dabo looks pretty good as well.
Dabo uses wxPython, so it looks exactly the same. The difference is in
the coding: writing stuff in wxPython is like writing C++ code, while
creating GUIs in Dabo is like writing Python code. Dabo also has a lot
of tools for creating GUIs visually, but even if you don't use those,
Dabo is a huge improvement over raw wxPython.

--

# p.d.
Nov 4 '06 #34

P: n/a
Mudcat wrote:
I have been using Tkinter for several years now. Recently I have been
thinking about switching to something else that may have a sharper
appearance. However I'm not sure what that may be, and if that
something else is *that* much better than what I'm already using.
Tk 8.5 isn't that far away, though.

http://www.markroseman.com/tcl/guide85.html

</F>

Nov 4 '06 #35

P: n/a
Mudcat wrote:
I have been using Tkinter for several years now. Recently I have been
thinking about switching to something else that may have a sharper
appearance. However I'm not sure what that may be, and if that
something else is *that* much better than what I'm already using.

Does everyone agree that wxPython looks best on Windows? I've also read
in a couple of places where Dabo looks pretty good as well.

So if someone were to pick a UI that gave the best appearance, what
would they choose?

i've been using wxpython for a few years and it's great.
it's got far better widgets then tkinter and it's speed is greater on
large stuff as well.
it's got a great support forum and the maintainer robin dunn does a
great job of answering all questions.
i can't particularly fault wxpython. it looks great on all platforms and
maintain the native look and feel of the platofrm as well.
Nov 5 '06 #36

P: n/a
When you say far better widgets, do you mean that it has a greater
number of widgets to choose from, or that the types of widgets are
basically the same but have a greater amount of flexibility in them?

Personally I find programming in Tkinter fairly simple and
straight-forward. I'm sure a lot of that is due to the fact I've been
using it for a while and have many templates already available when I
start to work on something new. But I don't find myself questioning it
very much for unnecessary typing like I do other things.

As far as appearance goes, I've scoured the net looking for examples of
widgets produced wxPython or other UIs, and I really don't see that
much difference than Tkinter. Now I haven't done a whole lot of
programming on XP, but as far as W2000 is concerned they all look very
similar.

What would be really cool is if someone were to come up with a UI that
has a totally new look and feel than anything that currently exists on
Windows. It seems like most of the native look and feel, even in XP,
are rather boxy and stale. I don't like Macs, but they do have cool
looking windows and frames.

Now I hardly know anything at all about low-level windows calls and
what is/is not possible. But I know that many applications draw their
own windows, skins, and functionality widgets to provide a sharper
appearance. It seems like it would be possible for someone to draw
these widgets and provide an api to display them through Python.
timmy wrote:
Mudcat wrote:
I have been using Tkinter for several years now. Recently I have been
thinking about switching to something else that may have a sharper
appearance. However I'm not sure what that may be, and if that
something else is *that* much better than what I'm already using.

Does everyone agree that wxPython looks best on Windows? I've also read
in a couple of places where Dabo looks pretty good as well.

So if someone were to pick a UI that gave the best appearance, what
would they choose?
i've been using wxpython for a few years and it's great.
it's got far better widgets then tkinter and it's speed is greater on
large stuff as well.
it's got a great support forum and the maintainer robin dunn does a
great job of answering all questions.
i can't particularly fault wxpython. it looks great on all platforms and
maintain the native look and feel of the platofrm as well.
Nov 5 '06 #37

P: n/a
"Mudcat" <mn******@gmail.comwrites:
When you say far better widgets, do you mean that it has a greater
number of widgets to choose from, or that the types of widgets are
basically the same but have a greater amount of flexibility in them?
There's a lot more and they look a lot better. Tk widgets are quite
stylized and independently of that they look like crap.
Personally I find programming in Tkinter fairly simple and
straight-forward.
Tkinter programming is not too bad once you get used to it, if you
don't mind the limited widget set and weird restrictions, that is
true. Plus, it's included in the Python distro, which is the main
reason I keep using it. That's worked ok for me because the apps I've
written with it just needed basic GUI functionality and were not too
demanding of stylistic fine points. But Tkinter seriously dated by
now, and I don't think its widgets are anywhere near slick enough for
wide-distribution desktop apps that have to look polished.
What would be really cool is if someone were to come up with a UI
that has a totally new look and feel than anything that currently
exists on Windows.
No that would suck. Best to try to stay as close as possible to the
native widgets on whatever the underlying platform is. If you want
to depart from the native UI, then start from scratch and write a whole
new window system with a complete app suite etc.
Nov 5 '06 #38

P: n/a
Mudcat wrote:
When you say far better widgets, do you mean that it has a greater
number of widgets to choose from, or that the types of widgets are
basically the same but have a greater amount of flexibility in them?

by better i mean more of them to choose from and the functionality they
provide.
when i started working with wx i discovered widgets i hadn't even seen
before. and if you can't find a widget to suit, it's easy to make one.
Nov 5 '06 #39

P: n/a

Paul Rubin wrote:
>
No that would suck. Best to try to stay as close as possible to the
native widgets on whatever the underlying platform is. If you want
to depart from the native UI, then start from scratch and write a whole
new window system with a complete app suite etc.
Ok. But other than thinking it would suck, you're basically repeating
my point about starting from scratch with a whole new suite of widgets.
I think there are situations where having an app that looks completely
different is a big bonus. Having developed apps for both engineers and
non-technical people alike, sometimes the non-techs are much more
impressed by the look/feel than what it actually does.

Sometimes you want a tool that blends in. Sometimes you want one that
stands out, especially when you're competing against other tools where
they all kind of look the same.

Nov 5 '06 #40

P: n/a
"Mudcat" <mn******@gmail.comwrites:
No that would suck. Best to try to stay as close as possible to the
native widgets on whatever the underlying platform is. If you want
to depart from the native UI, then start from scratch and write a whole
new window system with a complete app suite etc.

Ok. But other than thinking it would suck, you're basically repeating
my point about starting from scratch with a whole new suite of widgets.
No. In both cases I'm saying stick with a consistent set of widgets
and visual look across all applications. Either use your OS's
existing widget set and make your apps look like the existing apps for
that OS, or else throw out all those apps and write a whole new set
whose look is new, but is consistent across all of them.
Sometimes you want a tool that blends in. Sometimes you want one that
stands out, especially when you're competing against other tools where
they all kind of look the same.
This is what I'm saying would suck. Maybe the standing-out would get
more attention but it's a nuisance for users.
Nov 5 '06 #41

P: n/a

Dennis Lee Bieber wrote:
IOWs, eyecandy with no functionality... Sounds like the same mindset
that creates entire web sites using Flash animations such that one /can
not/ access them using a simple fast-loading text modes.
Not exactly. Look...when you're using freeware to compete with OTS
applications then you have to keep up with appearances. One of the apps
I wrote was used by our Sales team to show to customers. These same
customers are used to seeing flashy apps being shown to them all the
time, and we are basically competing against other companies using
these programs.

Anyone who has written apps like this understand what a difference that
first appearances make. You can take the exact same program, give it a
flashier wrapper, and customers will automatically think it offers that
much more. Customers usually only test drive these things long enough
to get a feel for it, not long enough to understand what all it will
do.

Therefore you can get a competitive edge using something that sets it
apart appearance-wise. It has nothing to do with being hollow inside.

Nov 5 '06 #42

P: n/a
On Wed, 25 Oct 2006 11:04:57 +0200, Christophe <ch*************@free.fr>
wrote:
>>And no modern layout manager available. Only those old school
left/right/up/down pack and anchors are available.
huh? when did you last look at Tk? 1994?
Yesterday. In fact, I could find no mention at all of layout managers
others than those working with anchors. Anchors are soooo old school
nowadays :)
Being "old school" or "modern" is not an argument in itself. How do the
so-called "modern" layout managers help you do the thing you want to do?

And the fact that you could find no mention of something does not mean
that it doesn't exist. It may just be a documentation problem.
Honestly, I can't stand using anchors or the Packer anymore. The systems
used in wx, Qt are much better. Use them once and you cannot live
without them anymore.
The "Packer" is very rarely used in Tkinter applications when the layout
becomes complicated. Almost all applications I saw use the "grid" layout
manager, except for very simple things (like buttons in a row or column,
where the "pack" layout manager is just enough).
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Nov 6 '06 #43

P: n/a

rd*****@mac.com wrote:
Paul Boddie wrote:

"""The figures behind the scenes are quite enlightening for that
particular page. If you (or community experiences) don't agree with the

rankings (wxPython apparently even easier to learn than PythonCard and
Tinder, a bunch of Gtk-based toolkits having more or less "full" Linux
scores) then you'll have some surprises, I'm sure. Nevertheless, it's
an interesting concept. """

Well, I don't know what I was thinking, exactly, when I rated
PythonCard's ease of use...so I went back and changed it to rate it a
lot higher. The ratings in this script were done a long time ago now
I dropped Pythoncard when I could not sort multi column lists and when
I posted to the email list and no one answered me.

But prior to that it was great.

Nov 6 '06 #44

P: n/a
Yes, from a easy of use standpoint, I agree that PythonCard is very
high on the list.

Unfortunately there isn't more "activities" as one would like to see.

On the other hand, that's typical of open-source projects. We can
always roll up our sleeves and do it ourselves.

At least the multicolumn control isn't particularly complex, should be
able to figure out from the source code how to sort. I believe I did
that some time ago. I believe I ended up reshuffling the list...

metaperl wrote:
rd*****@mac.com wrote:
Paul Boddie wrote:

"""The figures behind the scenes are quite enlightening for that
particular page. If you (or community experiences) don't agree with the

rankings (wxPython apparently even easier to learn than PythonCard and
Tinder, a bunch of Gtk-based toolkits having more or less "full" Linux
scores) then you'll have some surprises, I'm sure. Nevertheless, it's
an interesting concept. """

Well, I don't know what I was thinking, exactly, when I rated
PythonCard's ease of use...so I went back and changed it to rate it a
lot higher. The ratings in this script were done a long time ago now

I dropped Pythoncard when I could not sort multi column lists and when
I posted to the email list and no one answered me.

But prior to that it was great.
Nov 6 '06 #45

This discussion thread is closed

Replies have been disabled for this discussion.