Which tool is the best for gui designer?

813 views
Skip to first unread message

Wonjun, Choi

unread,
Jun 21, 2011, 3:17:09 AM6/21/11
to wxPython-users
Tool for wxpython: boa-constructor
wxGlade
wxFormBuilder

Tool for pyQT: QT Designer

Please recommend the best tool for UI development

and if I use wxpython, can I make some pretty UI using skin?
or pyQT is better than wxpython for pretty UI?

Wonjun, Choi

Toni Ruža

unread,
Jun 21, 2011, 3:52:40 AM6/21/11
to wxpytho...@googlegroups.com
On Tue, 21 Jun 2011 09:17:09 +0200, Wonjun, Choi <wonjun...@gmail.com> wrote:

> Tool for wxpython: boa-constructor
> wxGlade
> wxFormBuilder
>
> Tool for pyQT: QT Designer
>
> Please recommend the best tool for UI development

IMHO for almost all non trivial user interfaces it is best to code them by hand, so one of the most important factors when I'm choosing a designer is the ease of interoperability between hand coded and generated UI (because there are usually plenty of "simple" UI elements that would be bothersome to code by hand). I have been using wxFormBuilder this way for a few years now and I'm quite satisfied with it.

For Qt there is much less of a choice, as you know. Fortunately, the only obvious choice is a good one.


> and if I use wxpython, can I make some pretty UI using skin?
> or pyQT is better than wxpython for pretty UI?

You can make "pretty UI" with wx but you don't have a standard skin format as you do with Qt, you have to hack everything together yourself. This may or may not be a problem depending on the kind and amount of modifying you intend to do.


Cheers,
Toni

최원준

unread,
Jun 21, 2011, 4:11:52 AM6/21/11
to wxpytho...@googlegroups.com
Thank you for your comment
Do you recommend wxPython than pyQT?
and I installed wxFormbuilder but I couldn't find manual or movie tutorial on it's web site.
Could you let me know some tutorial?

As you said, If I use wxPython, I cannot make more beautiful UI than QT?

Wonjun, Choi
 

2011/6/21 Toni Ruža <gmr...@gmail.com>

Toni Ruža

unread,
Jun 21, 2011, 5:06:05 AM6/21/11
to wxpytho...@googlegroups.com
On Tue, 21 Jun 2011 10:11:52 +0200, 최원준 <wonjun...@gmail.com> wrote:

> Thank you for your comment
> Do you recommend wxPython than pyQT?

Yes, but keep in mind where you ask the question... there might be a slight bias here ;)


> and I installed wxFormbuilder but I couldn't find manual or movie tutorial
> on it's web site.
> Could you let me know some tutorial?

I'm afraid not, I never used any. What you really need for it is knowledge about wx, if you have that wxFormBuilder is straightforward and obvious.

Try browsing around http://wiki.wxpython.org/


> As you said, If I use wxPython, I cannot make more beautiful UI than QT?

In theory, it doesn't matter. You can make your UI look like whatever you want in both toolkits. You should choose the one you feel more comfortable working in. If you are starting from scratch make a little experimental app in both of them and see which suits you better personally.


Cheers,
Toni

최원준

unread,
Jun 21, 2011, 5:12:17 AM6/21/11
to wxpytho...@googlegroups.com


2011/6/21 Toni Ruža <gmr...@gmail.com>
On Tue, 21 Jun 2011 10:11:52 +0200, 최원준 <wonjun...@gmail.com> wrote:

Thank you for your comment
Do you recommend wxPython than pyQT?

Yes, but keep in mind where you ask the question... there might be a slight bias here ;)
=> I see.



and I installed wxFormbuilder but I couldn't find manual or movie tutorial
on it's web site.
Could you let me know some tutorial?

I'm afraid not, I never used any. What you really need for it is knowledge about wx, if you have that wxFormBuilder is straightforward and obvious.

Try browsing around http://wiki.wxpython.org/

=> you mean that what I need to know is the wx?
 



As you said, If I use wxPython, I cannot make more beautiful UI than QT?

In theory, it doesn't matter. You can make your UI look like whatever you want in both toolkits. You should choose the one you feel more comfortable working in. If you are starting from scratch make a little experimental app in both of them and see which suits you better personally.
=> I have looked the sample screenshot both of them. and QT is more nicer than wxPython, I think.

Gadget/Steve

unread,
Jun 21, 2011, 5:22:41 AM6/21/11
to wxpytho...@googlegroups.com
I would also STRONGLY recommend reading the licence terms of both in the
context of your project - if you are writing a freeware application then
it will make little difference which you use but if you are aiming at a
commercial application it makes a vast difference which you use and what
you may have to pay.

If you are writing a large application/suite that may be used in
multiple distribution methods you could always abstract all your GUI
operations into a separate layer and have the option to use either, (and
possibly some other/future GUI library).

Gadget/Steve


signature.asc

Toni Ruža

unread,
Jun 21, 2011, 5:23:58 AM6/21/11
to wxpytho...@googlegroups.com
On Tue, 21 Jun 2011 11:12:17 +0200, 최원준 <wonjun...@gmail.com> wrote:

>> and I installed wxFormbuilder but I couldn't find manual or movie tutorial
>>> on it's web site.
>>> Could you let me know some tutorial?
>>>
>>
>> I'm afraid not, I never used any. What you really need for it is knowledge
>> about wx, if you have that wxFormBuilder is straightforward and obvious.
>>
>> Try browsing around http://wiki.wxpython.org/
>
>
> => you mean that what I need to know is the wx?

Yes. As I've said earlier, IMHO it is best to know how to hand code UI and use a designer for the tedious parts. This requires more learning and experience unfortunately. But of course what is right for me does not have to be right for you. Play around a little with both toolkits and make an informed decision on you own.

werner

unread,
Jun 21, 2011, 7:19:52 AM6/21/11
to wxpytho...@googlegroups.com
Give them all a good try, to see which works best for your way of
working, and ask questions on the relevant list if you run into problems
while trying them out.

I use Boa for a long time and like it not only because of its UI
designer but really really like its debugger and some other IDE type
features, e.g. ctrl-h to get help for Python/wxPython and other defined
help books. Unfortunately it is a bit dated, i.e. hasn't had a new
version for a long time.

If you don't go with wxPython then you should also look at pySlide (a
more permissive license then pyQT, but still pretty new) and pyGTK.

Werner

C M

unread,
Jun 21, 2011, 1:07:51 PM6/21/11
to wxpytho...@googlegroups.com

I have looked the sample screenshot both of them. and QT is more nicer than wxPython, I think.

What were the wxPython screenshots you looked at?  Can you post a link please?

wxPython is intended to look "native", which means its widgets should look like what the platform wants widgets to look like.  There are some exceptions to this, but generally it looks on Windows like applications look on Windows; on Mac as they do on Mac; on Linux as they do on Linux.  I believe pyQT also uses native widgets, mostly.

I think one can make nice looking apps with either toolkit.

Che


Christopher Barker

unread,
Jun 21, 2011, 2:17:37 PM6/21/11
to wxpytho...@googlegroups.com
C M wrote:
> wxPython is intended to look "native", which means its widgets should
> look like what the platform wants widgets to look like. There are some
> exceptions to this, but generally it looks on Windows like applications
> look on Windows; on Mac as they do on Mac; on Linux as they do on
> Linux. I believe pyQT also uses native widgets, mostly.

It sure didn't used to -- it did it's own drawing of all the widgets --
then they had themes that more-or-less matched the native ones, but Ive
never seen a QT app that looks or acts native on the Mac -- they
generally don't even use the native file selector dialogs, and the like.

(pyGTK is even worse, from a native-look-and-feel-perspective, on the Mac)

The OP mentioned "skinning" -- the QT approach should be better suited
to skinned apps -- I think "nice" or "pretty" is meaningless, but if you
goal is to have all the widgets look like what you want, rather than
like the ordinarily platform widgets, then wx is not a great choice, it
simply is not designed for that.

I can't tell you from experience if QT is any better in that regard, but
I suspect it is.

and look into PySide for a more flexible license -- I don't know how
robust it is yet, but if it meets your needs, it's a more flexible license.

-Chris

--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception

Chris....@noaa.gov

C M

unread,
Jun 21, 2011, 5:35:19 PM6/21/11
to wxpytho...@googlegroups.com

It sure didn't used to -- it did it's own drawing of all the widgets -- then they had themes that more-or-less matched the native ones, but Ive never seen a QT app that looks or acts native on the Mac

I know essentially nothing about this firsthand, but it seems like that has changed:

"Use of native UI-rendering APIs

Qt used to emulate the native look of its intended platforms, which occasionally led to slight discrepancies where that emulation was imperfect. Recent versions of Qt use the native style APIs of the different platforms to query the platform for the desired appearance of the Qt controls, and so do not suffer from such issues as much.

One should note that, on some platforms (such as MeeGo and KDE), Qt <i>is</i> the native API."

(from http://en.wikipedia.org/wiki/Qt_%28framework%29#Use_of_native_UI-rendering_APIs)

Stef Mientki

unread,
Jun 21, 2011, 6:32:27 PM6/21/11
to wxpytho...@googlegroups.com
On 21-06-2011 20:17, Christopher Barker wrote:
> C M wrote:
>> wxPython is intended to look "native", which means its widgets should look like what the platform
>> wants widgets to look like. There are some exceptions to this, but generally it looks on Windows
>> like applications look on Windows; on Mac as they do on Mac; on Linux as they do on Linux. I
>> believe pyQT also uses native widgets, mostly.
>
> It sure didn't used to -- it did it's own drawing of all the widgets -- then they had themes that
> more-or-less matched the native ones, but Ive never seen a QT app that looks or acts native on the
> Mac -- they generally don't even use the native file selector dialogs, and the like.
>
> (pyGTK is even worse, from a native-look-and-feel-perspective, on the Mac)
>
> The OP mentioned "skinning" -- the QT approach should be better suited to skinned apps -- I think
> "nice" or "pretty" is meaningless, but if you goal is to have all the widgets look like what you
> want, rather than like the ordinarily platform widgets, then wx is not a great choice, it simply
> is not designed for that.
>
> I can't tell you from experience if QT is any better in that regard, but I suspect it is.
>
> and look into PySide for a more flexible license -- I don't know how robust it is yet, but if it
> meets your needs, it's a more flexible license.
>
I'm a happy wxPython user, ...
... but I think PyQt is better for the future,
(although I'm afraid of the influence of MS :(

I didn't do much with PyQt, other than adapting my wrapper for a number of PySide / QT-components,
so I can change my wxPython programs to PyQt programs with a single button click. From this
experience, I come to the following conclusions:
- PyQT is far more consistent (every component has properties with the same name, event handling is
equal for all, chaining events is very easy)
- PyQT can easily be skinned through a CSS-like approach
- PyQT has at least the ability to run on mobiles
- PyQt is supported by a large team
The only drawback I could find is that creating you own components might more difficult, but I
didn't try (why should I ;-)

cheers,
Stef

Tim Roberts

unread,
Jun 21, 2011, 6:49:16 PM6/21/11
to wxpytho...@googlegroups.com
Stef Mientki wrote:
>
> I'm a happy wxPython user, ...
> ... but I think PyQt is better for the future,
> (although I'm afraid of the influence of MS :(
>
> I didn't do much with PyQt, other than adapting my wrapper for a number of PySide / QT-components,
> so I can change my wxPython programs to PyQt programs with a single button click. From this
> experience, I come to the following conclusions:
> - PyQT is far more consistent (every component has properties with the same name, event handling is
> equal for all, chaining events is very easy)
> - PyQT can easily be skinned through a CSS-like approach
> - PyQT has at least the ability to run on mobiles
> - PyQt is supported by a large team
> The only drawback I could find is that creating you own components might more difficult, but I
> didn't try (why should I ;-)

I'm always interested in comparisons like this. I have limited
(although non-zero) experience with Qt, and my experience led me to the
impression that Qt is HUGE. Do you find that a PyQt-based application
is significantly larger than a wxPython application?

--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.

Stef Mientki

unread,
Jun 21, 2011, 6:55:59 PM6/21/11
to wxpytho...@googlegroups.com
I don't know, I've never build an executable with PyQT.

And I'm not really interested in the size (computers are large enough),
Even my smallest application ( a window with 1 button) is about 50 MB,
because the builder I use includes everything I ever might need (including libs like Numpy, Scipy,
MatPlotLib, PIL, etc).
The reason is that most of my programs are dynamical,
i.e. by distributing a small functional python file, I can extend my applications.

cheers,
Stef

Christopher Barker

unread,
Jun 21, 2011, 7:12:40 PM6/21/11
to wxpytho...@googlegroups.com
C M wrote:
>
> It sure didn't used to -- it did it's own drawing of all the widgets
> -- then they had themes that more-or-less matched the native ones,
> but Ive never seen a QT app that looks or acts native on the Mac
>
>
> "Use of native UI-rendering APIs
>
> Qt used to emulate the native look of its intended platforms, which
> occasionally led to slight discrepancies where that emulation was
> imperfect. Recent versions of Qt use the native style APIs of the
> different platforms to query the platform for the desired appearance of
> the Qt controls, and so do not suffer from such issues as much.

This sounds like it is matching the theme of the native UI, but still
not using it directly. If it's done well, I suppose that the user won't
notice the difference.

Though Mac apps still don't seem to do anything as basic as using the
native file picker -- which is a surprisingly big deal!

-CHB

Nat Echols

unread,
Jun 21, 2011, 7:28:33 PM6/21/11
to wxpytho...@googlegroups.com
On Tue, Jun 21, 2011 at 4:12 PM, Christopher Barker <Chris....@noaa.gov> wrote:
This sounds like it is matching the theme of the native UI, but still not using it directly. If it's done well, I suppose that the user won't notice the difference.

Though Mac apps still don't seem to do anything as basic as using the native file picker -- which is a surprisingly big deal!

I spent a few minutes last week playing with someone else's Qt (C++, not Python) application on Mac, and while it was very attractive and worked well, it was definitely not native Mac appearance, even if some of the fonts and controls looked the same.  I don't know what version of Qt it used but it was written in the last 6-12 months, so it couldn't be too out of date.  My preference is still for the 100% native look, but I suspect that Qt minimizes some of the cross-platform quirks that arise from using the native controls on each platform.  (I'm very lucky that I don't have to support Windows...)

-Nat

최원준

unread,
Jun 21, 2011, 7:29:00 PM6/21/11
to wxpytho...@googlegroups.com
What is IMHO?

Wonjun, Choi

2011/6/21 Toni Ruža <gmr...@gmail.com>
On Tue, 21 Jun 2011 11:12:17 +0200, 최원준 <wonjun...@gmail.com> wrote:

Wonjun, Choi

unread,
Jun 21, 2011, 7:35:35 PM6/21/11
to wxPython-users
....

On 6월21일, 오후6시23분, Toni Ruža <gmr....@gmail.com> wrote:
> On Tue, 21 Jun 2011 11:12:17 +0200, 최원준 <wonjunchoi...@gmail.com> wrote:
> >>  and I installed wxFormbuilder but I couldn't find manual or movie tutorial
> >>> on it's web site.
> >>> Could you let me know some tutorial?
>
> >> I'm afraid not, I never used any. What you really need for it is knowledge
> >> about wx, if you have that wxFormBuilder is straightforward and obvious.
>
> >> Try browsing aroundhttp://wiki.wxpython.org/

최원준

unread,
Jun 21, 2011, 7:39:46 PM6/21/11
to wxpytho...@googlegroups.com
I would also STRONGLY recommend reading the licence terms of both in the
context of your project - if you are writing a freeware application then
it will make little difference which you use but if you are aiming at a
commercial application it makes a vast difference which you use and what
you may have to pay.

--> Is pyQT license limited?


2011/6/21 Gadget/Steve <Gadge...@live.co.uk>

최원준

unread,
Jun 21, 2011, 7:40:30 PM6/21/11
to wxpytho...@googlegroups.com
Yes. As I've said earlier, IMHO it is best to know how to hand code UI and use a designer for the tedious parts. This requires more learning and experience unfortunately. But of course what is right for me does not have to be right for you. Play around a little with both toolkits and make an informed decision on you own.

--> What is IMHO?


2011/6/21 Toni Ruža <gmr...@gmail.com>

Nat Echols

unread,
Jun 21, 2011, 7:44:43 PM6/21/11
to wxpytho...@googlegroups.com
On Tue, Jun 21, 2011 at 4:39 PM, 최원준 <wonjun...@gmail.com> wrote:
--> Is pyQT license limited?

Either the entire application has to be GPL(-compatible), or you have to pay for a commercial license (in the $1000s of dollars per developer).  wxPython is LGPL, which imposes no restrictions on applications which use it (only on modifications of the library itself).  Qt itself (and presumably PySide) can also be licensed under the LGPL, but PyQt is still limited.

-Nat

최원준

unread,
Jun 21, 2011, 7:44:52 PM6/21/11
to wxpytho...@googlegroups.com
If you don't go with wxPython then you should also look at pySlide (a more permissive license then pyQT, but still pretty new) and pyGTK.

--> I consider wxPython, and pyQT and I'm not sure about pySlide & pyGTK
I think wxPython user is more than those tool's user.


2011/6/21 werner <wbr...@free.fr>

최원준

unread,
Jun 21, 2011, 7:47:46 PM6/21/11
to wxpytho...@googlegroups.com

최원준

unread,
Jun 21, 2011, 7:50:19 PM6/21/11
to wxpytho...@googlegroups.com
The OP mentioned "skinning" -- the QT approach should be better suited to skinned apps -- I think "nice" or "pretty" is meaningless, but if you goal is to have all the widgets look like what you want, rather than like the ordinarily platform widgets, then wx is not a great choice, it simply is not designed for that.

-> you mean wxPython is not good for "nice" or "pretty" interface



2011/6/22 Christopher Barker <Chris....@noaa.gov>

최원준

unread,
Jun 21, 2011, 7:53:17 PM6/21/11
to wxpytho...@googlegroups.com
I didn't do much with PyQt, other than adapting my wrapper for a number of PySide / QT-components,
so I can change my wxPython programs to PyQt programs with a single button click. From this
experience, I come to the following conclusions:
- PyQT is far more consistent (every component has properties with the same name, event handling is
equal for all, chaining events is very easy)
- PyQT can easily be skinned through a CSS-like approach
- PyQT has at least the ability to run on mobiles
- PyQt is supported by a large team
The only drawback I could find is that creating you own components might more difficult, but I
didn't try (why should I ;-)

-> but people will not select pyQT because of the license?
I know the document is better than wxPython.



2011/6/22 Stef Mientki <stef.m...@gmail.com>



--

최원준

unread,
Jun 21, 2011, 7:54:22 PM6/21/11
to wxpytho...@googlegroups.com
I'm always interested in comparisons like this.  I have limited
(although non-zero) experience with Qt, and my experience led me to the
impression that Qt is HUGE.  Do you find that a PyQt-based application
is significantly larger than a wxPython application?

--> I'm not sure but the wxPython user is bigger than pyQT I think.


2011/6/22 Tim Roberts <ti...@probo.com>

--

최원준

unread,
Jun 21, 2011, 7:57:04 PM6/21/11
to wxpytho...@googlegroups.com
I spent a few minutes last week playing with someone else's Qt (C++, not Python) application on Mac, and while it was very attractive and worked well, it was definitely not native Mac appearance, even if some of the fonts and controls looked the same.  I don't know what version of Qt it used but it was written in the last 6-12 months, so it couldn't be too out of date.  My preference is still for the 100% native look, but I suspect that Qt minimizes some of the cross-platform quirks that arise from using the native controls on each platform.  (I'm very lucky that I don't have to support Windows...)

--> Can I see the screenshot?



2011/6/22 Nat Echols <nathanie...@gmail.com>

--

Tim Roberts

unread,
Jun 21, 2011, 8:07:40 PM6/21/11
to wxpytho...@googlegroups.com
최원준 wrote:
> What is IMHO?

Google is much faster than this forum.

C M

unread,
Jun 21, 2011, 9:48:03 PM6/21/11
to wxpytho...@googlegroups.com

Robin Dunn

unread,
Jun 22, 2011, 1:03:30 AM6/22/11
to wxpytho...@googlegroups.com
On 6/21/11 2:35 PM, C M wrote:
>
> It sure didn't used to -- it did it's own drawing of all the widgets
> -- then they had themes that more-or-less matched the native ones,
> but Ive never seen a QT app that looks or acts native on the Mac
>
>
> I know essentially nothing about this firsthand, but it seems like that
> has changed:
>
> "Use of native UI-rendering APIs

Native UI rendering APIs is not the same as native widgets. It's a lot
closer than it used to be, but still enough difference that somebody
familiar and comfortable with the native widgets can feel the
difference. There is a PyQt app that I use now and then on OS X, and
although almost all of the individual components look correct, little
things about the way they behave and how they are all put together is
non-native enough that it makes me cringe to use the application.

It's not unheard of for wx applications to have the same types of
trouble, but if enough attention is paid to the UI by the developer on
each of the platforms they want to deploy to then it is possible to at
least mostly eliminate the problems.

--
Robin Dunn
Software Craftsman
http://wxPython.org

David Hughes

unread,
Jun 22, 2011, 4:18:23 AM6/22/11
to wxpytho...@googlegroups.com
On 22/06/2011 00:40, 최원준 wrote:
Yes. As I've said earlier, IMHO it is best to know how to hand code UI and use a designer for the tedious parts. This requires more learning and experience unfortunately. But of course what is right for me does not have to be right for you. Play around a little with both toolkits and make an informed decision on you own.

--> What is IMHO?

It is an abbreviation, widely used in internet mails and messages,  for "In my humble opinion"
-- 

David

최원준

unread,
Jun 22, 2011, 5:08:09 AM6/22/11
to wxpytho...@googlegroups.com
It is an abbreviation, widely used in internet mails and messages,  for "In my humble opinion"

-> I see, thanks.


2011/6/22 David Hughes <d...@forestfield.co.uk>

--

jmfauth

unread,
Jun 23, 2011, 4:37:48 AM6/23/11
to wxPython-users


On 22 juin, 00:49, Tim Roberts <t...@probo.com> wrote:
>
> I'm always interested in comparisons like this.  I have limited
> (although non-zero) experience with Qt


The great strength of the Qt toolkit lies in its Unicode
compliance. It uses internally utf-16. It uses the unicode
features; in a QPlainTextEdit widget, <enter>'s key hits are
(logically) mapped as u'\u2029'.

>>> unicodedata.name(u'\u2029')
PARAGRAPH SEPARATOR
>>>

PySide reflects this behaviour very well and it
somehow forces the user to work in a "unicode
mode". (There are plenty other cases like this).




[...] and my experience led me to the
> impression that Qt is HUGE.  Do you find that a PyQt-based application
> is significantly larger than a wxPython application?
>
> --

py2exe: Python + wxPython -> ~ 20 Mb
py2exe: Python + PySide -> ~ 25 Mb

jmf

최원준

unread,
Jun 23, 2011, 4:52:37 AM6/23/11
to wxpytho...@googlegroups.com
thanks



2011/6/23 jmfauth <wxjm...@gmail.com>
Reply all
Reply to author
Forward
0 new messages