Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

python gui builders

214 views
Skip to first unread message

me

unread,
Nov 16, 2009, 5:06:02 AM11/16/09
to
Good People

I do not write stuff for humans, as it has been my job to remove
humans from the loop. But I have to make a front end to a
component database where everything was built in Python.

I have looked at the Tk stuff that is built into Python -> not
acceptable. So looking at wxGlade, Boa Constructor, Python Card.
Also looked at the frames/forms created with QtDesigner, which
can be used by Python via pyuic. BlackAdder IDE seems to have
this built-in, but am loathe to buy into another GUI tool for a
single job.

I have not been able to find a decent Python gui builder. The
last time I did gui garbage was with Borland C++ Builder which
was ok because I was only using win boxen for that project. This
time I am using both Linux and Win.

What Python gui builder is well supported, does not require me
to learn another framework/library, and can crank out stuff for
multiple platforms ?

thanks much,
me

sturlamolden

unread,
Nov 16, 2009, 5:39:10 AM11/16/09
to
On 16 Nov, 11:06, me <not_h...@nowhere.com> wrote:

> What Python gui builder is well supported, does not require me
> to learn another framework/library, and can crank out stuff for
> multiple platforms ?

I use wxFormBuilder. The 3.1 beta can even create wxPython code, but
it still has some minor issues (e.g. not always creating correct code
due to missing "self.").

wxFormBuilder 3.0 can create XRC files, which work excellently with
wxPython. The drawback is that you must bind event handlers manually,
instead of having it done automatically (as you can with Python code
generation in 3.1 beta).

If you are fine with GPL, or can afford the commercial license, there
is QtDesigner which works with PyQt. This is a fantastic cross-
platform GUI tool, if not hte best there is.

If you are fine with Microsoft only, you can use Windows Forms with MS
Visual Studio and IronPython.

If you can use Jython, there are many tools for working with Java
Swing or SWT.

sturlamolden

unread,
Nov 16, 2009, 5:42:51 AM11/16/09
to
On 16 Nov, 11:39, sturlamolden <sturlamol...@yahoo.no> wrote:

> If you are fine with Microsoft only, you can use Windows Forms with MS
> Visual Studio and IronPython.

I also forgot to mention:

If you can restrict yourself to Windows, you can always use Visual
Basic or Borland Delphi with pywin32. Either expose your GUI as an
ActiveX to pywin32 (you have e.g. an MFC binding) or expose your
Python as an ActiveX to VB/Delphi. The same approach should work (with
a little bit more work) for C# and VB.NET.

me

unread,
Nov 17, 2009, 9:19:39 AM11/17/09
to
Read the OP. No, read it again.

Scott David Daniels

unread,
Nov 17, 2009, 10:20:21 AM11/17/09
to
me wrote:

> I have looked at the Tk stuff that is built into Python -> not
> acceptable.

Such insightful analysis, and it is _so_ helpful in stating your needs.

> [a lot of guff about unacceptable things]

> What Python gui builder is well supported, does not require me to learn
> another framework/library, and can crank out stuff for multiple platforms ?

Well, let's see. You want to do gui work without learning things.
Good luck with that. If you discover how, I'd like to learn tensor
analysis without using symbols or operations more complex than
addition and subtraction. Maybe your groundwork can help me out
with that.

I must be in a really cranky mood today.

--Scott David Daniels
Scott....@Acm.Org

Simon Hibbs

unread,
Nov 17, 2009, 1:20:12 PM11/17/09
to
On 16 Nov, 10:06, me <not_h...@nowhere.com> wrote:

> What Python gui builder is well supported, does not require me
> to learn another framework/library, and can crank out stuff for
> multiple platforms ?

You're looking for a framework/library that doesn't require you to
learn it. OK....

I've had this problem for a few years. I've tried PythonCard,
WxWidgets with WxDesigner, BoaConstructor, etc. None of them come
anywhere close to PyQT/QTDesigner.

Dion't get Blackadder It hasn't been updated for several years and is
a dead project. In any case it uses QTDesigner for GUI layout anyway.
You're better off using Eric or Wing if you want a decent IDE.

QT does have a learning curve of course, but you get a lot of power
back in return for the investment. I'm just coming to grips with it's
MVC framework and the book "Rapid GUI Programming with Python and Qt"
is very helpful with that.

I wouldn't completely dismiss Tkinter. It's too simple for complex
GUIs but I still think it has it's place for basic utilities.

Simon Hibbs

r

unread,
Nov 17, 2009, 1:34:55 PM11/17/09
to
On Nov 17, 12:20 pm, Simon Hibbs <simon.hi...@gmail.com> wrote:

> I wouldn't completely dismiss Tkinter. It's too simple for complex
> GUIs but I still think it has it's place for basic utilities.

Agreed! Tkinter (besides myself) seems to be the whipping boy of
c.l.py. Tkinter has it's place in Python because of the same
simplicity people laboriously lament about! Until something else comes
along that can offer the same benefits of Tkinter and a little extra,
we are going to keep seeing Tkinter release after release. Guido knows
what he is doing people, don't sell the guy short!

CM

unread,
Nov 17, 2009, 1:36:31 PM11/17/09
to
On Nov 16, 5:06 am, me <not_h...@nowhere.com> wrote:
> Good People
>
> I do not write stuff for humans, as it has been my job to remove
> humans from the loop. But I have to make a front end to a
> component database where everything was built in Python.
>
> I have looked at the Tk stuff that is built into Python -> not
> acceptable. So looking at wxGlade, Boa Constructor, Python Card.
> Also looked at the frames/forms created with QtDesigner, which
> can be used by Python via pyuic. BlackAdder IDE seems to have
> this built-in, but am loathe to buy into another GUI tool for a
> single job.
>
> I have not been able to find a decent Python gui builder. The

What was your issue with Boa Constructor? It produces wxPython
code and I find it works quite well (less well on Linux, but if
you use it in Windows, the app will run in Linux w/ minimal need
for changes).

Of course, whatever route you go, you have to learn the widget
toolkit.

Che

Joel Davis

unread,
Nov 17, 2009, 4:19:53 PM11/17/09
to
On Nov 16, 5:06 am, me <not_h...@nowhere.com> wrote:

Glade is pretty easy to use, especially for a simple front end, if you
already know python, then the amount of GTK you'd have to learn would
be very minimal (5-15 minute crash course in it should suffice.) build
your GUI in Glade, link the python code to the xml file, and the go
back to coding non-gui stuff in no time. The Glade utility is free
software so there's no expense (unless you get charged by the byte on
your downloads.)

Ben Finney

unread,
Nov 17, 2009, 4:21:40 PM11/17/09
to
Scott David Daniels <Scott....@Acm.Org> writes:

> Well, let's see. You want to do gui work without learning things. Good
> luck with that. If you discover how, I'd like to learn tensor analysis
> without using symbols or operations more complex than addition and
> subtraction. Maybe your groundwork can help me out with that.
>
> I must be in a really cranky mood today.

Yeah, it seems that way. Best to let such replies stew in your “Drafts”
folder, get the catharsis from having vented your frustration, then
delete them unsent once you feel better. Works wonders for me :-)

--
\ “If society were bound to invent technologies which could only |
`\ be used entirely within the law, then we would still be sitting |
_o__) in caves sucking our feet.” —Gene Kan, creator of Gnutella |
Ben Finney

Tim Daneliuk

unread,
Nov 17, 2009, 4:25:32 PM11/17/09
to

+1 Tkinter for the simple stuff

--
----------------------------------------------------------------------------
Tim Daneliuk tun...@tundraware.com
PGP Key: http://www.tundraware.com/PGP/

Kevin Walzer

unread,
Nov 17, 2009, 6:25:21 PM11/17/09
to
On 11/17/09 4:25 PM, Tim Daneliuk wrote:

>
> +1 Tkinter for the simple stuff
>

You can actually use Tkinter to do quite sophisticated GUI's that rival
anything found in Qt or wx...

--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com

Dave Cook

unread,
Nov 17, 2009, 10:21:17 PM11/17/09
to
On 2009-11-16, me <not_...@nowhere.com> wrote:

> Also looked at the frames/forms created with QtDesigner, which
> can be used by Python via pyuic.

That's what I would recommend. What did you not like about it?

Dave Cook

sturlamolden

unread,
Nov 18, 2009, 1:10:00 AM11/18/09
to
On 17 Nov, 19:34, r <rt8...@gmail.com> wrote:

> Agreed! Tkinter (besides myself) seems to be the whipping boy of
> c.l.py. Tkinter has it's place in Python because of the same
> simplicity people laboriously lament about! Until something else comes
> along that can offer the same benefits of Tkinter and a little extra,
> we are going to keep seeing Tkinter release after release. Guido knows
> what he is doing people, don't sell the guy short!

Tkinter is fine, particularly with Tix.

But I want a GUI designer. I don't like the tedious work of hand-
coding a GUI!

Yinon Ehrlich

unread,
Nov 18, 2009, 1:22:59 AM11/18/09
to

sturlamolden

unread,
Nov 18, 2009, 2:51:31 AM11/18/09
to
On 18 Nov, 04:21, Dave Cook <davec...@nowhere.net> wrote:

> On 2009-11-16, me <not_h...@nowhere.com> wrote:
>
> > Also looked at the frames/forms created with QtDesigner, which
> > can be used by Python via pyuic.
>
> That's what I would recommend.  What did you not like about it?

GPL


Dave Cook

unread,
Nov 18, 2009, 2:19:40 PM11/18/09
to
On 2009-11-18, sturlamolden <sturla...@yahoo.no> wrote:

> GPL

If it's an issue for your project, I suggest wxPython. It's
cross-platform, fairly complete, and extensible. But the API is
clunky compared to Qt.

Dave Cook

Simon Hibbs

unread,
Nov 18, 2009, 4:02:59 PM11/18/09
to
On 18 Nov, 07:51, sturlamolden <sturlamol...@yahoo.no> wrote:

>
> GPL

PyQT is GPL for now, but Qt itself is available under the LGPL as is
PySide. Eventualy PySide, which tracks the PyQT API, will supplant it
and the issue will be moot. For now it can be a problem, but PyQT
developer licenses are very afordable at only a few hundred dollars.
If a commercial project can't aford that, it's got problems.

Only you can know enough to make an informed decision. Wx does look
more usable than last time I used it for a project and is a fine
option too, for me though QT is the gold standard against all others
are measured, and generaly found wanting.

Simon Hibbs

Simon Hibbs

unread,
Nov 18, 2009, 4:15:25 PM11/18/09
to
On 17 Nov, 23:25, Kevin Walzer <k...@codebykevin.com> wrote:
> On 11/17/09 4:25 PM, Tim Daneliuk wrote:
>
> > +1 Tkinter for the simple stuff
>
> You can actually use Tkinter to do quite sophisticated GUI's that rival
> anything found in Qt or wx...

Neither Tkinteror Wx have anything that come close to QGraphicsView,
the Model-View-Delegate framework, the Phonon multimedia framework
integration, QtSQL, QtXML, QtSVG, and the many other first grade
components in Qt. You can substitute components from other frameworks,
e.g. for database access, but then you lose the integration QtSQL has
with the model-view-delegate features in other parts of the Qt world.

Qt is much more than just a GUI framework, it's more of a rival to
something like the MacOS development libraries, or the .NET framework
in terms of the library facilities it offers. I think that's why Nokia
bought into it. Qt provides them with a platform with the potential to
rival the iPhone dev environment.

Of course to take full advantage of it you need to invest in learning
it all, which is non-trivial. It comes at a cost in time and potential
lock-in. But the point is you can't just say Qt is just like Wx.

Simon Hibbs

David Bolen

unread,
Nov 18, 2009, 4:18:28 PM11/18/09
to
Simon Hibbs <simon...@gmail.com> writes:

> I've had this problem for a few years. I've tried PythonCard,
> WxWidgets with WxDesigner, BoaConstructor, etc. None of them come
> anywhere close to PyQT/QTDesigner.

For me, the killer feature missing from of all of the wx-based
designers is that they require sizer based designs at all stages, not
even permitting a fixed layout up front as a first draft. Either that
or any case I've found permitting a fixed layout, then didn't permit
turning that easily into a sizer-based layout.

From an overall design perspective, that was the feature I found most
intriguing in QTDesigner. I could randomly drop stuff around the
window while doing an initial layout, which is especially helpful when
you aren't quite sure yet how you want the layout to look. Then you
can select groups of objects and apply the containers to provide for
flexible layout.

I absolutely prefer sizer-based layouts for a final implementation,
but early in the design stages find it more helpful, and freeing, not
to be as tied to the containers.

With that said, for various reasons I still prefer wxPython to Qt, and
at the moment, find wxFormBuilder the best fit for my own designs
(even before the direct Python support, just using XRC).

-- David

Stef Mientki

unread,
Nov 18, 2009, 5:11:23 PM11/18/09
to pytho...@python.org
Wouldn't it be nice
if each fan of some form of GUI-package,
would post it's code (and resulting images) for generating one or two
standard GUI-forms ?

Then everyone can judge the differences,
and see what's simple and not so simple !!

And of course I'm willing to contribute the wxPython (wrapped in some
convenience procedures) for it.

cheers,
Stef

Kevin Walzer

unread,
Nov 18, 2009, 5:56:58 PM11/18/09
to
On 11/18/09 4:15 PM, Simon Hibbs wrote:
> On 17 Nov, 23:25, Kevin Walzer<k...@codebykevin.com> wrote:
>> On 11/17/09 4:25 PM, Tim Daneliuk wrote:
>>
>>> +1 Tkinter for the simple stuff
>>
>> You can actually use Tkinter to do quite sophisticated GUI's that rival
>> anything found in Qt or wx...
>
> Neither Tkinteror Wx have anything that come close to QGraphicsView,
> the Model-View-Delegate framework, the Phonon multimedia framework
> integration, QtSQL, QtXML, QtSVG, and the many other first grade
> components in Qt. You can substitute components from other frameworks,
> e.g. for database access, but then you lose the integration QtSQL has
> with the model-view-delegate features in other parts of the Qt world.

A few points of response:

-I was focusing primarily on the UI bits, not the other parts of Qt.
People tend to think that Tkinter only has labels, listboxes, buttons
and menus: recent advances in Tk have greatly expanded and modernized
the available widgets. There's also a rich econsystem of widget packages
within Tk that can be wrapped in Tkinter.

-Qt's support for things like SQL and XML make sense in a Pythonic
context mainly if you're focusing on their integration with other parts
of Qt. Python has many of these things just fine on its own, as you
doubtless know.

>
> Qt is much more than just a GUI framework, it's more of a rival to
> something like the MacOS development libraries, or the .NET framework
> in terms of the library facilities it offers. I think that's why Nokia
> bought into it. Qt provides them with a platform with the potential to
> rival the iPhone dev environment.

Of course, and I certainly wasn't claiming otherwise.

>
> Of course to take full advantage of it you need to invest in learning
> it all, which is non-trivial. It comes at a cost in time and potential
> lock-in. But the point is you can't just say Qt is just like Wx.
>

wxWidgets (the C++ library) has support for a lot of things other than
UI bits, as well. wxPython itself is mainly a GUI library because the
additional features of wxWidgets in C++ are redundant in Python.

--Kevin

sturlamolden

unread,
Nov 19, 2009, 3:11:45 AM11/19/09
to
On 18 Nov, 20:19, Dave Cook <davec...@nowhere.net> wrote:

> If it's an issue for your project, I suggest wxPython.  It's
> cross-platform, fairly complete, and extensible.  But the API is
> clunky compared to Qt.

Not if we use wxFormBuilder 3.1.

sturlamolden

unread,
Nov 19, 2009, 4:54:07 AM11/19/09
to
On 18 Nov, 23:56, Kevin Walzer <k...@codebykevin.com> wrote:

> wxWidgets (the C++ library) has support for a lot of things other than
> UI bits, as well. wxPython itself is mainly a GUI library because the
> additional features of wxWidgets in C++ are redundant in Python.

That is true. Nobody uses wxPython for socket programming in Python.

Qt is also much more than a C++ GUI framework, but in Python it's
mainly (only?) used for GUI.

Simon Hibbs

unread,
Nov 19, 2009, 5:50:32 AM11/19/09
to
On 18 Nov, 22:11, Stef Mientki <stef.mien...@gmail.com> wrote:
> Simon Hibbs wrote:
> > On 18 Nov, 07:51, sturlamolden <sturlamol...@yahoo.no> wrote:
>
> >> GPL
>
> > PyQT is GPL for now, but Qt itself is available under the LGPL as is
> > PySide. Eventualy PySide, which tracks the PyQT API, will supplant it
> > and the issue will be moot. For now it can be a problem, but PyQT
> > developer licenses are very afordable at only a few hundred dollars.
> > If a commercial project can't aford that, it's got problems.
>
> > Only you can know enough to make an informed decision. Wx does look
> > more usable than last time I used it for a project and is a fine
> > option too, for me though QT is the gold standard against all others
> > are measured, and generaly found wanting.
>
> > Simon Hibbs
>
> Wouldn't it be nice
> if each fan of some form of GUI-package,
> would post it's code (and resulting images) for generating one or two
> standard GUI-forms ?
>
> Then everyone can judge the differences,
> and see what's simple and not  so simple !!

I don't think a list like this is a great way to do that. There are
plenty of examples and tutorials available for each option.

Simon Hibbs

David Boddie

unread,
Nov 19, 2009, 7:33:05 PM11/19/09
to
On Thursday 19 November 2009 11:50, Simon Hibbs wrote:

> I don't think a list like this is a great way to do that. There are
> plenty of examples and tutorials available for each option.

This site has a selection of tutorials that can be used to compare
API and code styles:

http://zetcode.com/

David

sturlamolden

unread,
Nov 20, 2009, 11:11:12 AM11/20/09
to
On 18 Nov, 22:18, David Bolen <db3l....@gmail.com> wrote:

> With that said, for various reasons I still prefer wxPython to Qt, and
> at the moment, find wxFormBuilder the best fit for my own designs
> (even before the direct Python support, just using XRC).

Personally I prefer wxFormBuilder over QtDesigner for sizer-based
designs.

For quickly creating mock-up designs (GUI or web) there is a Windows
program called "DesignerVista".

Shawn Wheatley

unread,
Nov 25, 2009, 12:38:52 AM11/25/09
to
It's not quite all encompassing, but I found this link last year when
looking for a similar comparison of Python GUIs:
http://ginstrom.com/scribbles/2008/02/26/python-gui-programming-platforms-for-windows/

Tkinter, Qt, GTK, IronPython... I think the only thing missing is
Jython w/ Swing or SWT. Check it out.

Shawn

Stef Mientki

unread,
Nov 25, 2009, 3:03:54 PM11/25/09
to pytho...@python.org
Shawn Wheatley wrote:
> It's not quite all encompassing, but I found this link last year when
> looking for a similar comparison of Python GUIs:
> http://ginstrom.com/scribbles/2008/02/26/python-gui-programming-platforms-for-windows/
>
> Tkinter, Qt, GTK, IronPython... I think the only thing missing is
> Jython w/ Swing or SWT. Check it out.
>
Instead of "*hello* world" examples, I was thinking of "*real* world"
applications,
something like this,
http://mientki.ruhosting.nl/data_www/pylab_works/random_gui.html
which in a good GUI package should be doable in about 100 lines of code.

cheers,
Stef

0 new messages