Bugs wrote: > As a side question Frank, how was your experiences using wxPython for > your GUI? > Any regrets choosing wxPyton over another toolkit? > Was it very buggy? > How was it to work with in general? > Any other real-world wxPython feedback you have is appreciated. > > Frank Millman wrote: > > I am writing a multi-user accounting/business system. Data is stored in > > a database (PostgreSQL on Linux, SQL Server on Windows). I have written > > a Python program to run on the client, which uses wxPython as a gui, > > and connects to the database via TCP/IP. > > > <snip>
Difficult to give a balanced answer, but I will try. wxPython more or less chose itelf. I need the gui to work on Windows and Linux. Alternatives were Tkinter and PyQt. I got the impression from reading other comments that Tkinter is a bit old-fashioned and does not have a native look and feel, and PyQt is not free on Windows. That left wxPython. I did not evaluate the others, so I cannot compare directly, but do I have any regrets - no. Some things that I thought would be difficult I found amazingly easy. Other things that should have been simple gave me endless trouble. Understanding the concept of 'sizers' (for laying out the widgets on the screen) took me a while to grasp, and it is still not 100% clear, but I can get it to do most of what I want. The cross-platform capability is very good, but there were times when I got something to work on one platform and not the other. After much experimenting I usually managed to get it to work on both, often with a surprising side-effect - the code I eventually used was often cleaner and felt more correct than my original attempt, and therefore if I had been more experienced and done it the 'right' way in the first place, I may not have had a problem. Documentation is not perfect, though it is being worked on. The primary source is the documentation for wxWidgets, which is written in C++. Some people have commented that they do not understand the format, as the C++ function calls are not quite the same as Python's, but personally I did not find this a problem. A bigger problem is that the documentation does not keep up to date with the product, so there are often new features available that are not apparent. I have got into the habit of doing a dir() on most of the objects, to see if they have any methods that are not listed in the docs - quite often they do. Work has started on proper wxPython documentation, and apparently it looks quite good, but I have not used it. There is also a book in the pipeline. Support from the wxPython community is exceptional. There is a very willing and helpful mailing list, and a wiki with a lot of useful stuff. The main developer of wxPython, Robin Dunn, is a regular contributor to the mailing list, and is the authoritative source of up to date information. Unfortunately he has been tied up with personal business for a few months, and his absence from the list is quite noticeable. I am sure I speak for the entire list when I say I am really hoping that he returns soon - it makes us realise how dependent we are on him. Overall, I have found the experience frustrating from time to time, but I am happy with what I have achieved. I have shown samples of my app to a few people, and the appearance has never even raised a question - it just looks and feels like a modern gui application, and I can get on with demonstrating the functionality, which is as it should be. My 2.5c Frank -- http://mail.python.org/mailman/listinfo/python-list