wxPython vs. pyQt

E

eholbroo

I've narrowed down my toolkit selection for my project to wxPython and
pyQt, and now i'd like to hear any opinions, war stories, peeves, etc,
about them, particularly from anyone who's used _both_toolkits_. I'm
only mildly interested in the IDEs and UI designers for each, as i
want to do as much as i can in just Xemacs and xterm. Feel free to
rant, rave, pontificate, whatever.

t.i.a.,
E
 
S

Scott Frankel

I have just started using wxPython. I selected it over pyQT for
licensing
reasons. I'm no gui app expert. But that said, I've found the toolkit
approachable and the user community very helpful.

Scott
 
S

Simon John

I used to be a wxPython lover, but it was mainly due to the crappy PyQt
licensing terms, rather than any merits of wx (although I like the
native LnF).

After trying to do a large-ish project using wxPython, I found that I
was limited by the lack of widgets and the layout system.

My latest project was in PyQt, after Trolltech announced that Qt4 will
have a GPL version for Windows (and Riverbank said they will make a
PyQt to go with it eventually).

I usually hate visual GUI IDEs, but I found QtDesigner to be a real
asset, much better than wxDesigner or VisualStudio. The threading
implementation also seems superior (easier?) to Python's own too, and
making custom widgets is easy enough, even with a Python wrapper.

Also, the Cygwin guys have ported the GPL/Linux Qt to Windows, so you
can use that for Qt3.3 until Trolltech come up with Qt4.

Links:
http://kscraft.sourceforge.net/convert_xhtml.php?doc=pyqt-windows-install.xhtml
http://kde-cygwin.sourceforge.net/qt3-win32/
http://www.pycs.net/lateral/stories/27.html
 
G

Giovanni Bajo

I've narrowed down my toolkit selection for my project to wxPython and
pyQt, and now i'd like to hear any opinions, war stories, peeves, etc,
about them, particularly from anyone who's used _both_toolkits_. I'm
only mildly interested in the IDEs and UI designers for each, as i
want to do as much as i can in just Xemacs and xterm. Feel free to
rant, rave, pontificate, whatever.


I have used both. I find PyQT is vastly superior than wxPython for a number of
reasons, including overall better design of the library, total flexibility and
orthogonality of provided features, incredible portability. I would suggest
wxPython only if you cannot meet PyQt license requirements (and this is going
to change soon, since Qt4 will have a GPL version for Windows too).
 
T

tc

Has anyone compiled binaries for qt/pyqt/eric3. i'd really like to try
it. at the moment i work with wxWindows and BoaConstructor which i'm
actually not so happy with. design of gui's with wx is not very
efficient...

so is there already a binary for qt/pyqt/eric3 available or when can i
excpect qt4 to be released?


tc
 
F

foobar

tc said:
Has anyone compiled binaries for qt/pyqt/eric3. i'd really like to try
it. at the moment i work with wxWindows and BoaConstructor which i'm
actually not so happy with. design of gui's with wx is not very
efficient...

so is there already a binary for qt/pyqt/eric3 available or when can i
excpect qt4 to be released?


tc

Hi,
If you're on a linux fedora3/suse 9.2 platform you can give a try to:

pyvm.sourceforge.net
regards,
antonio
 
K

Ken Godee

tc said:
Has anyone compiled binaries for qt/pyqt/eric3. i'd really like to try
it. at the moment i work with wxWindows and BoaConstructor which i'm
actually not so happy with. design of gui's with wx is not very
efficient...

so is there already a binary for qt/pyqt/eric3 available or when can i
excpect qt4 to be released?


tc

http://kde-redhat.sourceforge.net/

apt/yum/etc. repositories

qt-3.3.3-16.3.3.kde.i386.rpm
sip-4.1.1-0.2.3.kde.i386.rpm
PyQt-3.13-2.0.3.kde.i386.rpm
PyKDE-3.11.3-0.5.3.kde.i386.rpm
qscintilla-1.4-0.1.3.kde.i386.rpm
eric-3.6.1-0.fdr.1.3.i386.rpm

and more....
 
S

Simon John

"so is there already a binary for qt/pyqt/eric3 available or when can i
excpect qt4 to be released? "

I think that pyqt4 is going to be a long way off, obviously further
away than qt4.

i have compiled qt 3.3.3/pyqt 3.1.3 using mingw/vcc6 for windows using
the instructions i linked to in my previous post, both for python 2.3
and 2.4, when the kde-cygwin guys finish porting qt 3.3.4, i'm going to
have a go at pyqt 3.1.4
 
R

RM

Of course, the licensing terms may still be too restrictive for those
that want to create comercial closed source applications and can't
afford the comercial license of Qt. That is why, for many, wxPython
will remain the preferred choice.

Being that you are inclined use Xemacs and xterm for your development,
I don't think you will have too much trouble with either one.
Currently, I think the choice between Qt and wx boils down to this:

Type of app - Choice - Reason

GPL or Company use only app - Qt - It is easier, cleaner, etc.
Commercial Closed Source - Qt - Don't mind the license cost.
Any type - wx - It is free.

Other (lesser, I think) considerations, however, may bee the appearance
of the app. On linux/KDE you may prefer the Qt native look. On
Linux/GNOME you may prefer wx's GTK native look. On Windows, wx is
completely native, while I can't speak for Qt's look since I have never
seen it, but I know it is not completely native looking.
 
M

Mike P.

RM said:
Of course, the licensing terms may still be too restrictive for those
that want to create comercial closed source applications and can't
afford the comercial license of Qt. That is why, for many, wxPython
will remain the preferred choice.

Being that you are inclined use Xemacs and xterm for your development,
I don't think you will have too much trouble with either one.
Currently, I think the choice between Qt and wx boils down to this:

Type of app - Choice - Reason

GPL or Company use only app - Qt - It is easier, cleaner, etc.
Commercial Closed Source - Qt - Don't mind the license cost.
Any type - wx - It is free.

Other (lesser, I think) considerations, however, may bee the appearance
of the app. On linux/KDE you may prefer the Qt native look. On
Linux/GNOME you may prefer wx's GTK native look. On Windows, wx is
completely native, while I can't speak for Qt's look since I have never
seen it, but I know it is not completely native looking.

I use Qt under Windows and the look and feel is completely native.
The best thing to do is to judge for yourself. Trolltech's website has
example screenshots of Qt applications under X11, Windows and Mac OS X.

For example 3rd party apps, look at:
http://www.trolltech.com/products/hotnew/index.html
and http://www.trolltech.com/success/index.html

For Trolltech's Qt tools, look at:
http://www.trolltech.com/screenshots/tools.html

Personally for ease of use Qt is the way to go. I'm really looking forward
to Qt 4 coming out, and then sometime later PyQt 4. Then I'll be able to
develop with my favourite APIs (Qt, OpenGL, and OpenSceneGraph) under a
completely Python environment - heaven from a development perspective.

Mike.
 
S

Swaroop C H

Personally for ease of use Qt is the way to go. I'm really looking forward
to Qt 4 coming out, and then sometime later PyQt 4. Then I'll be able to
develop with my favourite APIs (Qt, OpenGL, and OpenSceneGraph) under a
completely Python environment - heaven from a development perspective.

I totally agree.

For those who don't know, Qt 4 on Windows will be available under GPL.
So, you can write a (GPLed) app using Qt 4 and run it on Windows, Mac,
Linux and even embedded!

The announcement is at
http://www.trolltech.com/newsroom/announcements/00000192.html

I hope the PyQt guys are on top of this ;)

Regards,
 
J

Jarek Zgoda

(e-mail address removed) napisa³(a):
I've narrowed down my toolkit selection for my project to wxPython and
pyQt, and now i'd like to hear any opinions, war stories, peeves, etc,
about them, particularly from anyone who's used _both_toolkits_. I'm
only mildly interested in the IDEs and UI designers for each, as i
want to do as much as i can in just Xemacs and xterm. Feel free to
rant, rave, pontificate, whatever.

There's no clear winner.

On Windows wx runs fast, looks good and is stable enough to use in
production. On X11 wx is dog slow, looks good only if you use GTK-based
environment (GNOME, XFCE) and crashes randomly on my machine. Oh, and is
LGPL (basically), that's good for those scared by GPL.

On Windows Qt runs reasonably, looks reasonably and is rock solid. On
X11 Qt is lightning fast, looks good only if you have installed part of
KDE and is rock solid. You can buy commercial licenses for both Qt and
PyQt or go free with GPL version. Until Qt4 come later this year, you
must use commercial version.

I prefer Qt, but now in my case it's a matter of personal taste.
 
H

Hans-Peter Jansen

I've narrowed down my toolkit selection for my project to wxPython and
pyQt, and now i'd like to hear any opinions, war stories, peeves, etc,
about them, particularly from anyone who's used _both_toolkits_. I'm
only mildly interested in the IDEs and UI designers for each, as i
want to do as much as i can in just Xemacs and xterm. Feel free to
rant, rave, pontificate, whatever.

I used both toolkits in projects under linux (mostly for inhouse database
applications and the like). First experiences with tkinter and it's look
within linux brought me to the decision to try others. Although not
necessary that time, being able to use it under windows was appealing.
Because of the Qt license, I decided to start with wx, but several issues
with it turned my head around soon thereafter.

Here is what I still remember:
- inconsistent api (for historical and conceptual reasons)
- solutions to some problems weren't always obvious
- somewhat opaque documentation
- painfully slow start of wx applications
- gui layering makes it hard to locate a problem domain inside the tk
- widgets behave different on different architectures/base libs
- patched swig needed for full build/own extensions
- tools (gui builder) weren't appealing
- printing a single fax page image resulted in a ~50MB PS job (because it
wasn't possible to prevent the conversation to a 24 bit image)
- spurious gtk error messages

While in PyQt world, I found these advantages:
+ conceptually vastly superior
+ powerful api/widgets/features
+ fast as hell due to the efficient binding of a quite efficient lib
+ cool tools, that are unicode/translation aware
+ very efficient programming environment/unbeatable productivity

While this sounds like the average sales talk, I will try to backup these
claims a bit:
Phil Thompson does a great job with sip: since V.4, it's able to wrap c++
libs directly without any additional "trampoline" modules, most other
wrappers (includding sip 3) produces. It creates a very thin layer, which
results in a tight and efficient binding. Besides all the necessary
essential work there, it also realizes lazy binding in order to speed up
loading big libs like qt once more. Qt itself is a good example of a
mostly well thought out toolkit including a quite consistent api, usable
documentation and powerful tools (designer, assistant, linguist), which
PyQt fully deploys into the wonderful world of our favorite programming
language.

Accompanied by eric, itself a great example on how far you can go with
PyQt and limited human resources (unfortunately), it is big fun to get
some real work done. The power of eric is largely based on qscintilla,
Phil's Qt port of the scintilla editor component besides PyQt. For the
scientists out there, there's also a cool extension lib available: PyQwt.

On the down side let me note:
- due to the tight coupling of Qt, PyQt inherits one of Qt's few down
sides, which boils down to: garbage in -> (probably) crash, but well,
we use a real operating system for a reason, don't we ;-)
- to get most from the documentation, one gets to a c++ -> python
converter over time (trains the eye to skip the right portions)..

Conclusion: PyQt is the most underrated python gui toolkit out there, but
beware: once you get infected, your brain will tend to refuse to work
with more long winded toolkits. It allowed me to do things in hours,
which literally took weeks with tkinter, while still running quicker,
looking and feeling better, providing more features and a noticable
higher user satisfaction: IOW, much more fun.

Well-I'm-biased-ly-y'rs,
Pete
 
J

John J. Lee

Andrew E said:
I've been a wx user since around 1999 and overall I like it. It annoys
me a *lot* sometimes, but as Qt was always prohibitively expensive for
commercial development, it was the only real option.

The key question from my point of view is: can I write commercial
sell-if-I-want-to applications using Qt? If it is GPL, then I guess
the answer is 'no'?

Yes, you can write commercial apps. It's multi-licensed (commercial,
GPL, etc.): you get to pick the license(s) you want to use. Read the
licenses.

PyQt's licensing follows Qt's very closely, so no real complications
there. Note PyQt (including a Qt license for use only with PyQt) is
actually far cheaper than Qt alone (if you buy Blackadder).


John
 
A

Andrew E

Hans-Peter Jansen said:
..
While in PyQt world, I found these advantages:
+ conceptually vastly superior
+ powerful api/widgets/features
+ fast as hell due to the efficient binding of a quite efficient lib
+ cool tools, that are unicode/translation aware
+ very efficient programming environment/unbeatable productivity

While this sounds like the average sales talk, I will try to backup these
claims a bit:
> ..

I've been a wx user since around 1999 and overall I like it. It annoys
me a *lot* sometimes, but as Qt was always prohibitively expensive for
commercial development, it was the only real option.

The key question from my point of view is: can I write commercial
sell-if-I-want-to applications using Qt? If it is GPL, then I guess the
answer is 'no'?

Andrew
 
D

Duncan Booth

Swaroop said:
For those who don't know, Qt 4 on Windows will be available under GPL.
So, you can write a (GPLed) app using Qt 4 and run it on Windows, Mac,
Linux and even embedded!

Yes, but the FAQ implies to me that they really don't want to encourage
people to use the GPL:
Q: I want to dual license my software too! That means I can use the
Open Source edition for development, right?

A: No. In order to write software that will be sold or licensed
commercially, in addition to open source, all of your programmers will
need a commercial license from the outset of the development phase.

If you use the Open Source edition of Qt, you can only publish the
software under the GPL. Trolltech's commercial license terms do not
allow you to develop any proprietary software using the Open Source
edition.

If I read this correctly, if you use the GPL version of QT to do any
development work you can never release any of the code under anything other
than the GPL, not even by retrospectively paying Trolltech all the license
fees they would have been due for it to be a commercial development.

Also, if you have bought your commercial license, you cannot benefit from
the pool of existing GPL code by approaching the original author and
arranging to pay them for a non-GPL license for use within your product.
 
A

Andrew E

John said:
Yes, you can write commercial apps. It's multi-licensed (commercial,
GPL, etc.): you get to pick the license(s) you want to use. Read the
licenses.

PyQt's licensing follows Qt's very closely, so no real complications
there. Note PyQt (including a Qt license for use only with PyQt) is
actually far cheaper than Qt alone (if you buy Blackadder).

ok, thanks. I've just had a quick browse of the licence notes at the
PyQt website.

I guess I meant: "can I write commercial closed-source software *without
paying anything for Qt" - to which I sounds like the answer is
definitely "No" :)

Andrew
 
S

stewart.midwinter

since I'm developing in Tkinter, I'm intrigued by your comment that:
"It allowed me to do things in hours,
which literally took weeks with tkinter, "

please elaborate!

Cheers
S
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top