What I don't like about wxPython

J

j_mckitrick

Just thought I'd play devil's advocate...

I tried wxPython briefly, and it had some nice features.

It has a huge list of dependencies.

I don't like the fonts (but I'd love to know how to get fixed fonts,
or at least anything that looks better on a small laptop screen.

TkInter seems much easier to use... less effort to do things.

jonathon
 
P

Peter Hansen

j_mckitrick said:
Just thought I'd play devil's advocate...

I tried wxPython briefly, and it had some nice features.

It has a huge list of dependencies.

1. Python.
2. Windows.

Unless I misunderstand, and I'm sure I do, I wouldn't call that
a huge list...
I don't like the fonts (but I'd love to know how to get fixed fonts,
or at least anything that looks better on a small laptop screen.

wxPython uses whatever fonts are in the system already, doesn't
it? Again, I don't seem to understand...
TkInter seems much easier to use... less effort to do things.

Lots of people say that. Others say things like "it doesn't
fit my brain" and find more success with wxPython or other
frameworks. To each her own...

-Peter
 
P

Paul Rubin

Peter Hansen said:
1. Python.
2. Windows.

Unless I misunderstand, and I'm sure I do, I wouldn't call that
a huge list...

If wxPython really depends on Windows, that's a huge obstacle for
those wanting a portable system. If it doesn't literally depend on
Windows, but uses Windows-centric interfaces and approaches, that's
still pretty annoying for non-Windows developers.
 
P

Peter Hansen

Paul said:
If wxPython really depends on Windows, that's a huge obstacle for
those wanting a portable system.

Well, it doesn't of course. I suppose I could remove it from
the list, which sort of supports the point I was making even
more...
If it doesn't literally depend on
Windows, but uses Windows-centric interfaces and approaches, that's
still pretty annoying for non-Windows developers.

That could be. I'm not a "Windows developer", however, in the sense
that I've never implemented the slightest thing resembling a GUI
on Windows using any Microsoft-specific things like MFC or whatever
it's called. If wxPython has Windows-centricisms, I certainly don't
notice them, so they don't annoy me. Maybe I'm just the exception
to your rule there...

-Peter
 
C

Carl Banks

Peter said:
1. Python.
2. Windows.

The Unix version requires at least Python, gtk, and wxlib. Gtk is
technically three libraries: gtk, gdk, and glib. gdk depends on
libpng, probably also libjpeg. The latest version has all kinds of
i18n dependencies.

Not that that isn't par for the course in Unix.
 
R

Ryan Paul

Just thought I'd play devil's advocate...

I tried wxPython briefly, and it had some nice features.

It has a huge list of dependencies.

I don't like the fonts (but I'd love to know how to get fixed fonts,
or at least anything that looks better on a small laptop screen.

TkInter seems much easier to use... less effort to do things.

jonathon

TkInter does seem a lot easier to deal with, but it doesnt provide nearly
as many widgets as wxPython, and in my experience, it doesnt handle
drawing as well. wxPython has a relatively comprehensive control set. My
major gripe with wxPython is the speed (lack thereof, actaully). On my
pIII 800, using linux, most large wxPython applications are too slow to be
usable, whereas comparable pyGTK applications run very smoothly. Seeing as
the linux version of wxwindows is gtk based, i'm still not quite sure why
there is such a massive speed difference.

Ultimately, none of these ui api's are as 'pythonic' as I want them to be,
and wxPython in particular seems like a carbon copy of the C api, which
makes it lose points in my book.

On my system, at least, Wx is too slow for large programs so I would
really only use it to make little gui wrappers for convenience scripts,
and as I dont usually need a comprehensive widget collection for that, I
typically find Tk to be better suited, as there seems to be less overhead.

I do use Wx for programmatic drawing when PIL doesnt do quite enough.

Wx doesnt have a 'huge list of dependancies' but it is in and of itself an
unnecessary bulk. Tk comes with python and has a slightly more
pythonic api, so I just use it.

in any event, thats my incoherent thought for today.
 
O

OKB (not okblacke)

Ryan said:
Ultimately, none of these ui api's are as 'pythonic' as I want them
to be, and wxPython in particular seems like a carbon copy of the C
api, which makes it lose points in my book.

I agree with this; that API seems completely incongruous in a
Python program.

--
--OKB (not okblacke)
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is
no path, and leave a trail."
--author unknown
 
J

Jarek Zgoda

OKB (not okblacke) said:
I agree with this; that API seems completely incongruous in a
Python program.

It has been told and written many times. If you look something "more
pythonic" yet still such powerful, you can use some wrapper on wxPython.
Wax first comes to my mind, look for it in PyPi.
 
A

A. Lloyd Flanagan

Paul Rubin said:
If wxPython really depends on Windows, that's a huge obstacle for
those wanting a portable system. If it doesn't literally depend on
Windows, but uses Windows-centric interfaces and approaches, that's
still pretty annoying for non-Windows developers.

Couple of points:
wxPython is very cross-platform, I've used the same program on Windows
and Linux and it looks fine on both. The Mac OS X port appears to be
coming along very well.
wxPython is (deliberately) a thin wrapper of the C++ classes in the
wxWidgets package (used to be called wxWindows). So it supports all
the platforms wxWidgets does.
And, yes, it's not pythonic; the wax package is supposed to fix that,
though I personally don't have experience with it.
 
C

Cameron Laird

.
.
.
TkInter does seem a lot easier to deal with, but it doesnt provide nearly
as many widgets as wxPython, and in my experience, it doesnt handle
drawing as well. wxPython has a relatively comprehensive control set. My .
.
.
I do use Wx for programmatic drawing when PIL doesnt do quite enough.
.
.
.
What's the "drawing" where wxPython is handier than PIL?
Different people use the word for different domains: 3-d
visualization, graphing, image manipulation, ...
 
R

Ryan Paul

If wxPython really depends on Windows, that's a huge obstacle for
those wanting a portable system. If it doesn't literally depend on
Windows, but uses Windows-centric interfaces and approaches, that's
still pretty annoying for non-Windows developers.

now i'm curious. are there ANY gui toolkits that arent blatantly
windows-centric? Personally, I HATE the windows user interface paradigm,
but it seems to be pretty much ubiquitous regardless of your operating
system. GTK, Photon, Aqua, QT, Swing, VCL... all of them have toolbars,
menus, checkboxes, etc. They are all just variation on a theme, so to
speak. If you know of a command oriented graphical interface, i'd love to
hear about it. ;-)
 
R

Ryan Paul

.
.
.
.
.
.
What's the "drawing" where wxPython is handier than PIL?
Different people use the word for different domains: 3-d
visualization, graphing, image manipulation, ...

I used wx for a few projects. I wrote a program that allowed
graphical manipulation of makefile dependancies. It was 2d, and most
involved colored shapes with borders etc, rendering lines between shapes
intelligently, and placing text. I had to allow for components to be
moved around, and had to have certain actions performed when the user
dragged one shape on top of another, or dragged the line. I would have
just used the gnome canvas, but I needed it be windoze compatible.
 
P

Peter Hansen

Ryan said:
now i'm curious. are there ANY gui toolkits that arent blatantly
windows-centric? Personally, I HATE the windows user interface paradigm,
but it seems to be pretty much ubiquitous regardless of your operating
system. GTK, Photon, Aqua, QT, Swing, VCL... all of them have toolbars,
menus, checkboxes, etc. They are all just variation on a theme, so to
speak. If you know of a command oriented graphical interface, i'd love to
hear about it. ;-)

Do you mean "windows-centric", or "Windows-centric"? There's
a difference, and Microsoft most definitely did *not* invent
the concept of "windows", trademarks aside...

Windows(tm) is merely a clone of other things, "a GUI with windows"
is not what people mean by "Windows-centric". That term refers
more to the API and the way things are set up in the GUI than
to the "window icon menu pointer" (WIMP) idea itself.

(And to answer the one question you might have been asking,
yes, many of the frameworks have no connection to Windows(tm)
at all.)

-Peter
 
K

Kevin Dahlhausen

I'll throw a plug in here for pyFltk. It overcomes many of the issues
you have with wxPython. It's not as heavily developed as the wxWin,
but Andreas is doing a great job of updates since taking it over.

It's based FLTK, which is intended to be small, fast, good-looking,
cross-platform API. I chose it originally because it was all of these
and I found the API remarkably clean. I don't recall the exact list
of depdendencies off hand, but it's nothing large other than FTLK,
optionally opengl, and perhaps the standard image libs.

Everybody probably has a slightly different definition of 'pythonic.'
pyFltk works via registering a callable as a callback. So that can be
a member-function on an object or static class function or a
stand-alone function, heck even a lamda. The event handling/callback
mechanism meets my definition of pythonic. The wrapper even handles
overloaded functions transparently.

One of the greatest contributions Andreas made was allowing
subclassing of the FLTK widgets in python.

The downside is that it's not quite as polished yet as wxWindows.

This plug is because although I'm not actively involved anymore, I
think it has potential to be a great asset to the the Python community
and would to see the rough edges smoothed out.
 
J

Jacek Generowicz

Ryan Paul said:
now i'm curious. are there ANY gui toolkits that arent blatantly
windows-centric? Personally, I HATE the windows user interface paradigm,
but it seems to be pretty much ubiquitous regardless of your operating
system. GTK, Photon, Aqua, QT, Swing, VCL... all of them have toolbars,
menus, checkboxes, etc. They are all just variation on a theme, so to
speak. If you know of a command oriented graphical interface, i'd love to
hear about it. ;-)

If you want to _hear_ (or read) about a different style of graphical
user interface, then maybe CLIM is of interest to you.

If you want to _use_ one in Python tomorrow ... then CLIM is probably
not what you want.
 
J

John Roth

Ryan Paul said:
now i'm curious. are there ANY gui toolkits that arent blatantly
windows-centric? Personally, I HATE the windows user interface paradigm,
but it seems to be pretty much ubiquitous regardless of your operating
system. GTK, Photon, Aqua, QT, Swing, VCL... all of them have toolbars,
menus, checkboxes, etc. They are all just variation on a theme, so to
speak. If you know of a command oriented graphical interface, i'd love to
hear about it. ;-)

For something completely (and in some sense mind-bogglingly)
different, see:

www.nakedobjects.org

At least it gets rid of menus, toolbars and all that stuff.

You might also want to look at the Morphic interface in
Squeak. (www.squeak.org)

John Roth
 
G

Grant Edwards

The Unix version requires at least Python, gtk, and wxlib. Gtk is
technically three libraries: gtk, gdk, and glib. gdk depends on
libpng, probably also libjpeg. The latest version has all kinds of
i18n dependencies.

Yup. Trying to get wxPython installed can be a pretty
frustrating experience.

After spending a couple hours trying to get a 2.5 version of
wxPython installed on Mandrake 9.2, I finally gave up, wiped my
disk, and installed Mandrake 10.0. It still doesn't come with
wxPython 2.5, but it has enough of the required stuff that I
don't have to build 10-15 new packages to get there...
 
R

Ryan Paul

I'll throw a plug in here for pyFltk. It overcomes many of the issues
you have with wxPython. It's not as heavily developed as the wxWin,
but Andreas is doing a great job of updates since taking it over.

Thx for mentioning. I'd like to look into this, can I get a link?
 
R

Ryan Paul

Yup. Trying to get wxPython installed can be a pretty
frustrating experience.

After spending a couple hours trying to get a 2.5 version of
wxPython installed on Mandrake 9.2, I finally gave up, wiped my
disk, and installed Mandrake 10.0. It still doesn't come with
wxPython 2.5, but it has enough of the required stuff that I
don't have to build 10-15 new packages to get there...

indeed. I remember having some interesting problems getting it all to
compile with slackware. These days, I take the easy way out:
apt-get install libwxgtk2.5-python

(just a little harmless debian promotion!) ;-D
 

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

Members online

Forum statistics

Threads
474,197
Messages
2,571,040
Members
47,634
Latest member
RonnyBoelk

Latest Threads

Top