Re: [Anygui-devel] On AnyGUI Core
Brought to you by:
mlh
From: Peter D. <pd...@gm...> - 2005-08-08 10:29:14
|
On Sat, 06 Aug 2005 05:00:04 +0300, Greg Ewing <gre...@ca...> wrote: > Magnus Lie Hetland wrote: > >> One option to look out for in the future is Greg's PyGUI: >> http://www.cosc.canterbury.ac.nz/~greg/python_gui > > Peter seems to be suggesting more or less implementing a > complete GUI in Python. That would ensure that it worked > on all platforms, but there are difficulties with this > approach, which is what things like wxWidgets and Qt do. > They never seem to look and behave exactly like the > native widgets on a given platform, and they're always > playing catch-up with changes in the native look and feel. Yes! this is what I'm suggesting more or less. I'm for the QT like approach NOT the wxWidgets one. If the theming engine is well implemented, the toolkit will look very much alike the native ones. If the feel is implemented using the best approach (think OSX) users on other systems won't mind. I mean... if the apps behave better people won't mind that they don't behave like the native ones. > I also have performance concerns about doing it all in > Python. I expect it would be very difficult, for example, > to implement a pure-Python rich text editor that was > as featureful and efficient as those available nowadays > in many of the native GUI packages. I agree, some widgets would simply have to be implemented in some low level language BUT if they first work people might find it worth reimplementing them in C/C++ or at least the bottleneck bits. Kinda like in pickle/cPickle combo. > With PyGUI, I'm taking almost the opposite approach, > and trying to make as much use as I can of what is > natively provided on the plaform. Like Anygui, PyGUI > aims to provide a common API to the Python programmer, > implemented in terms of different underlying libraries. > But unlike Anygui, I'm not trying to wrap every GUI > toolkit in existence, but just provide *one* high-quality > implementation on each platform, built as directly as > possible on the platform's native facilities. > > That way, I hope to avoid the worst of the lowest-common- > denominator problems that Anygui has, leverage as much > power as I can from the underlying platform facilities, > and avoid requiring the user to install any large, > unwieldy and potentially buggy third-party libraries. FOX and I think FLTK have the best approach... they implement everything on top of a very thin platform specific layer. This is in my view the best approach: Implement as much as possible in python and reuse some of the code from one of those projects altho it might not be all that easy to "extract" the necessary bits from their source tree. The idea is to forgo all the unnecessary, C++ related bits from the toolkit that have counterparts in python and keep only the minimum. Peter |