From: Darren D. <dd...@co...> - 2004-07-19 18:25:36
Attachments:
dd55.vcf
|
Hi everyone, Now that I have become an intermediate python programmer, I want to learn how to build some GUIs. I am trying to decide between WX and GTK, and was hoping to get input from this list specifically. GTK seems to have the most active support in matplotlib. Is this true? The amount of demo code for learning pygtk is not as good as for wxPython, for example, I cant figure out how to call a print dialog with gtk. Does one exist? WX seems to have the most broad support in the Python community. WX seems easier to work with based on the demo code, but once I graduate and make the switch to Linux, it seems a waste to be interfacing GTK through wxPython. WX needs another person to help with maintanence, and I want to help with Matplotlib when I become experienced enough to be of use to the project. But for now, I need to be able to analyze data and finish school. While undecided on a GUI, I am decided on python and matplotlib, so your input would be valuable. Right now I don't have enough experience to make an intelligent decision. Thanks in advance, Darren -- Darren S. Dale dd...@co... PGP public key available |
From: Uwe S. <sc...@nu...> - 2004-07-19 20:56:32
|
> > Hi everyone, Hi Darren, > > Now that I have become an intermediate python programmer, I want to > learn how to build some GUIs. I am trying to decide between WX and GTK, > and was hoping to get input from this list specifically. > wxPython wraps wxWidgets which wraps GTK on Unix machines. From wxwidgets.com: "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms. Link with the appropriate library for your platform (Windows/Unix/Mac, others coming shortly) and compiler (almost any popular C++ compiler), and your application will adopt the look and feel appropriate to that platform. " So you get cross platform support for free. I had a look at pyQt which looks very promising, but has some limitations if you want to sell pyQT applications for windows machines. There is a package called PythonCard (http://pythoncard.sf.net) which is a layer above wxPython. PythoCard simpliefies programming simple GUIs, but is restricted in its functionality. wxPython is my workorse for GUI programming for some years now and I'm quite happy with it. The mailing list is friendly and helpfull, too. According to http://matplotlib.sf.net there is a wx backend, but I never used it. Greetings, Uwe. > |
From: Stephen R. <snr...@ya...> - 2004-07-19 21:23:21
|
There is a backend from wx to maplotlib, along with GTK and TKinter also. I'm just recently started using matplotlib and wx. Seems to work fine - though not very fast for what we're trying to do (multiple graphs on screen, updated at a fixed multi-Hz rate). Having said that, matplotilb does a decent job and the feedback and turnaround on its mailing list is great. I haven't delved far into wx yet, but for the most part its decent with pretty good documentation. HTH Stephen On Jul 19, 2004, at 4:59 PM, Uwe Schmitt wrote: >> >> Hi everyone, > > Hi Darren, > >> >> Now that I have become an intermediate python programmer, I want to >> learn how to build some GUIs. I am trying to decide between WX and >> GTK, >> and was hoping to get input from this list specifically. >> > > wxPython wraps wxWidgets which wraps GTK on Unix machines. > > From wxwidgets.com: > "wxWidgets gives you a single, easy-to-use API for writing GUI > applications > on multiple platforms. Link with the appropriate library for your > platform > (Windows/Unix/Mac, others coming shortly) and compiler (almost any > popular > C++ compiler), > and your application will adopt the look and feel appropriate to that > platform. " > > So you get cross platform support for free. I had a look at pyQt which > looks > very promising, but has some limitations if you want to sell pyQT > applications > for windows machines. > > There is a package called PythonCard (http://pythoncard.sf.net) which > is > a layer above wxPython. PythoCard simpliefies programming simple GUIs, > but is restricted in its functionality. > > wxPython is my workorse for GUI programming for some years now and > I'm quite happy with it. The mailing list is friendly and helpfull, > too. > > According to http://matplotlib.sf.net there is a wx backend, but I > never > used it. > > Greetings, Uwe. |
From: John H. <jdh...@ac...> - 2004-07-20 14:27:55
|
>>>>> "Darren" == Darren Dale <dd...@co...> writes: Darren> Hi everyone, Now that I have become an intermediate python Darren> programmer, I want to learn how to build some GUIs. I am Darren> trying to decide between WX and GTK, and was hoping to get Darren> input from this list specifically. There is some information here - http://matplotlib.sourceforge.net/faq.html#WHICHBACKEND Here's my 2c Use a *Agg backend, either TkAgg, WXAgg or GTKAgg. This way you'll always be assured of having the most complete feature set. All produce identical figures since they use Agg. Of those three, there are tradeoffs. GTK A great choice if your deploying on linux and win32 only. A word of caution thought: win32 support is becoming more problematic now that dropline gtk runtime installers are no longer supported. OS X is more difficult unless your users use fink. Steve Chaplin maintains the GTK backend and is very active keeping the code consistent with different pygtk releases etc. The application I develop with matplotlib uses GTKAgg, so yes, developer support is good. I primarily develop this application on linux and deploy on win32 (all my users only know windows) and it has been quite successful and non-problematic. GTKAgg is also currently the fastest backend for dynamic (animated) images. Tk A good choice if you want the greatest likelihood of it working across all platforms with minimal extra dependencies. Excellent support from Todd Miller and stsci. The only two downsides, in my opinion, are 1) that the widgets aren't so nice and 2) TkAgg is a bit slow (1.5-3x slower than GTKAgg) for dynamic images because the transfer from agg to the tk canvas is slow - this is mostly out of our control. WX As you noted a very popular platform, native widgets, etc. Can be a tough install on OS X and linux, but works great for win32 (eg enthought edition). Support is a problem with no active maintainer, though I do what I can. If you use WXAgg, support is less of a problem since the widget interface is fairly stable. If you need dynamic images, this will currently be slower than GTKAgg since I use string methods to transfer the agg image buffer to the wx canvas, but at some point I would like to write some wx extension code for this purpose. A number of people with good knowledge of matplotlib internals use wx for application development and I think are fairly satisfied. FLTK Gregory Lielens has developed a FLTK backend, though it is not yet in CVS. Early reports are that it is quite fast, as we would hope, from the name. JDH |