wxwindows question

J

Jason Tesser

I am looking into using wxwindows for a gui to develop applications.
The
Apps need to be cross-platform Mac, Windows, Linux. I work
For a bible college and will be developing applications ranging from
online
Registration to business office software. My question is what is your
guys
Experiences with wxwindows/python? What is the best tool that is stable
I can use? I am looking into using wxDesigner with maybe Wing or
Komodo.
What do you guys think?
 
N

Nuff Said

I am looking into using wxwindows for a gui to develop applications.
The
Apps need to be cross-platform Mac, Windows, Linux. I work
For a bible college and will be developing applications ranging from
online
Registration to business office software. My question is what is your
guys
Experiences with wxwindows/python?

wxpython is fine (actually: *very fine* :) for Windows
applications, but I would not use it for cross-platform
development, because it is not stable enough on Linux.

(Even some of the widgets in the wxpython demo crash on Linux;
and if you use wxpython with Unicode support, the situation gets
even worse. This might change in the near future, but right now,
wxpython is not stable enough on Linux IMHO.)


For things like 'online registrations' etc., I would write a
web based application (using one of the many web application
frameworks which are available for Python or maybe just good
old CGIs written in Python).


Don't really know what you mean by 'business office software',
but it sounds like you need a powerful text widget and maybe a
good canvas widget. Check out Tkinter (Python bindings for Tcl/Tk)
for that. (Though Tkinter does not provide widgets like a notebook,
print preview resp. a printing system etc. as wxpython does.)


GTK (i.e. PyGTK for Python) might be worth a look if you plan to
use other programming languages apart from Python, too.


HTH / Nuff
 
J

Jorge Godoy

wxpython is fine (actually: *very fine* :) for Windows
applications, but I would not use it for cross-platform
development, because it is not stable enough on Linux.

(Even some of the widgets in the wxpython demo crash on Linux;
and if you use wxpython with Unicode support, the situation gets
even worse. This might change in the near future, but right now,
wxpython is not stable enough on Linux IMHO.)

Which ones? And in which version of wxPython + wxGTK + Python?


I develop on Linux and run software on Linux and Windows. I don't have
crashes on any of those systems.

Those applications are used a lot to get reports from production of
hundreds of employees in one company (input data, request reports and
graphics, etc.) --- this one runs Windows --- and to track trucks
with cutted trees in another company (also input of data, position of
trucks, driver's name, vehicle license, government authorizations,
etc.) --- this one runs Linux.


Each case is a case. Works for me.


Be seeing you,
 
J

Jorge Godoy

I am looking into using wxwindows for a gui to develop applications.
The
Apps need to be cross-platform Mac, Windows, Linux. I work
For a bible college and will be developing applications ranging from
online
Registration to business office software. My question is what is
your guys
Experiences with wxwindows/python? What is the best tool that is
stable
I can use? I am looking into using wxDesigner with maybe Wing or
Komodo.
What do you guys think?

I'm used to use wxGlade to create GUIs, but you can do it with other
tools as well. A friend of mine likes more BOA Constructor. But my
development platform is Linux...

With regards to wxPython, I'm all for it. This a very good GUI and the
fact of it having native look on the OSs you cited above is a plus:
users won't be surprised with a new look in your application and
everything will be where they are used to get it.

You can take a look at GNUMed for a nice design using wxPython.


See you,
 
N

Nuff Said

Which ones? And in which version of wxPython + wxGTK + Python?

I use(d) wxPython 2.4.2.4 with Python 2.3.x on various Linux
systems (incl. SuSE and Fedora Core).

When I compiled wxPython with Unicode support, the demo either
did not work at all resp. every second or so widget crashed.

Without Unicode support, e.g. the StyledTextControl (Scintilla)
crashed whenever I tried to enter a 'special' character (i.e.
a character which is not a 7 bit ASCII character). The use of
other widgets resulted in seg faults, too; but I do not remember
exactly, which ones.

I tried to compile wxPython (resp. wxGTK) for GTK1 and GTK2; the
former seemed to be more stable (but looked awful).

After a week or two of testing, I gave up on wxPython (for the
moment). I wrote a lot of cross platform applications in Python
(together with C and, recently, C#) using Tkinter (resp. Tcl/Tk)
and pyGTK (resp. GTK+ for other languages) and never had such
problems. But both GUI toolkits lack some important widgets and
therefore I became interested in wxPython (though I don't like the
way I have to code in wxPython; but that's my personal problem :)

Recently, I write a lot of web applications (whenever possible),
using good old CGIs, various frameworks and ASP.NET (with C#).
But my dream for Python would be a native GUI toolkit (and not
just a wrapper for something else which was not designed with
Python in mind).

Nuff
 
J

Jorge Godoy

I use(d) wxPython 2.4.2.4 with Python 2.3.x on various Linux
systems (incl. SuSE and Fedora Core).

The same here... But with Conectiva Linux. SuSE is Conectiva's partner
on the United Linux Consortium.
When I compiled wxPython with Unicode support, the demo either
did not work at all resp. every second or so widget crashed.

I haven't tried using Unicode. My applications still don't need it and
I've seen lots of reports about it not working properly.
Without Unicode support, e.g. the StyledTextControl (Scintilla)
crashed whenever I tried to enter a 'special' character (i.e.
a character which is not a 7 bit ASCII character). The use of
other widgets resulted in seg faults, too; but I do not remember
exactly, which ones.

It doesn't happen here. Since I'm Brazilian I use a lot of chars that
are not 7 bit ASCII (á, é, ç, ã, õ, etc.) in a lot of places :) No
crashes due to that, except with an old version of wxGlade on
Windows, where my parter couldn't open / create a file with "special"
chars on titles and notebook tabs: it crashed there. On the other
hand, it worked perfectly on Linux and on the running application, so
after he finished the application, he used my Linux box to add all
the missing stuff (then he learnt about sed & cia. with me).
I tried to compile wxPython (resp. wxGTK) for GTK1 and GTK2; the
former seemed to be more stable (but looked awful).

I agree with you on that one. I haven't insisted much on the GTK2
stuff though.
After a week or two of testing, I gave up on wxPython (for the
moment). I wrote a lot of cross platform applications in Python
(together with C and, recently, C#) using Tkinter (resp. Tcl/Tk)
and pyGTK (resp. GTK+ for other languages) and never had such
problems. But both GUI toolkits lack some important widgets and
therefore I became interested in wxPython (though I don't like the
way I have to code in wxPython; but that's my personal problem :)

Could you please say more on the way the other tools are used? I
adapted better with wxPython than Tkinter here... Probably I would
look after Tkinter different today and I would even try it a little
more based on several comments here, but then theres wxPython and it
is solving my problems very nicely.

Which widgets you missed there?
Recently, I write a lot of web applications (whenever possible),
using good old CGIs, various frameworks and ASP.NET (with C#).
But my dream for Python would be a native GUI toolkit (and not
just a wrapper for something else which was not designed with
Python in mind).

It would be very good if wxPython was more python centric instead of
trying to be more like wxWindows. But I guess that people who
prototype in wxPython and then convert some parts (or all) of their
application to C++ wouldn't like such a change...

There's "equilibrium" here, and messing with that would be
dangerous :) Another advantage is that wxWindows is already there
and it works. It would be a shame not to benefit from that.


Since you mentioned CGIs, don't you like using Python for that?


Be seeing you,
 
N

Nuff Said

Which widgets you missed there?

Tkinter: notebook, tree view, printing framework
pyGTK: printing framework
wxWindows: a powerful, 'normal' TextControl (not Scintilla)

- Notebooks exist in some of the Tkinter extensions, but I
found it easier (deployment etc.) to write my own notebook
(which is not really good looking but enough for most of
my purposes). Nevertheless, a notebook and a tree view widget
should be part of vanilla Tkinter IMHO.
- The TextControl is a good example for what I do not like
in wxWindows: it is *very* easy to use widgets in wxWindows in
a standard way; but it is often difficult or impossible to do
advanced stuff with these widgets.

It would be very good if wxPython was more python centric instead of
trying to be more like wxWindows. But I guess that people who
prototype in wxPython and then convert some parts (or all) of their
application to C++ wouldn't like such a change...

There's "equilibrium" here, and messing with that would be
dangerous :) Another advantage is that wxWindows is already there
and it works. It would be a shame not to benefit from that.

I agree. Having wrappers for existing libraries and software is
an important thing and having *prototyping* in mind, one should
not try to make such wrappers as pythonic as possible. (Moreover,
this would make the maintenance of the wrappers more complicated.)

A native GUI toolkit for Python should be something which is
written from scratch (resp. - maybe - a wrapper for a GUI toolkit
written in C).

Since you mentioned CGIs, don't you like using Python for that?

I do! For web applications, I normally use CGIs written in Python
resp. ASP.NET (mainly from the Mono project) using Code Behind in C#.
I like both, but unfortunately, I have to maintain a lot of old
CGIs written in Perl, some ASP stuff etc.


Nuff
 
L

Lars Heuer

Hi Nuff,

I missed the begin of the thread, so I answer you. :)
It would be very good if wxPython was more python centric instead of
[...]
I agree. Having wrappers for existing libraries and software is
an important thing and having *prototyping* in mind, one should
not try to make such wrappers as pythonic as possible. (Moreover,
this would make the maintenance of the wrappers more complicated.)

Maybe WAX is an interesting project. It tries to build a wrapper ahead
of wxPython to serve a more python-ic way to code python programs:

See:
http://wiki.wxpython.org/index.cgi/Wax
http://zephyrfalcon.org/labs/dope_on_wax.html

Best regards,
Lars
 
N

Nuff Said

Maybe WAX is an interesting project. It tries to build a wrapper ahead
of wxPython to serve a more python-ic way to code python programs:

See:
http://wiki.wxpython.org/index.cgi/Wax
http://zephyrfalcon.org/labs/dope_on_wax.html

Thanks for the links, Lars. I was not aware of Wax.

It looks like a good idea to me. But the following statement
from the second link does not sound too promising:

"Frankly, I don't have the time to work on this project
very much. That's why I only add new features when I need
them."

Anyway, even if the project will not mature, it might show
a way to go with existing GUI toolkits. Write a wrapper which
is as close as possible to the original and then subclass the
widget classes in the wrapper to make their usage more pythonic.

Nuff
 

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

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top