[Bf-python] Pure Python GUI
Jonathan Merritt
j.merritt at pgrad.unimelb.edu.au
Sun Mar 2 12:55:07 CET 2008
Greetings Pythonites,
I have heard some rumors about better Python GUI support coming out of
the Apricot project. Does anyone know what the plan is in that area,
and the timeline? Campbell? :-)
I have been working on a proof-of-concept for a Python GUI that runs
inside Blender (similar to the goo project, although aiming to be more
of an all-rounder). Initially, I have built a component hierarchy,
drawing canvas and event system that all go together to simulate
Python panels. Here is a video of the system in action:
http://www.youtube.com/watch?v=tERvnJEKg7o
The GUI is surprisingly responsive (any "stickyness" is a result of
screen cast and YouTube). Some things don't work properly yet, but
about 98% of the functionality of Blender's button panels is there.
The code is *not* yet ready for public consumption, so I will be
tidying it up over the next few weeks, aiming at an initial release
around Easter. In the mean time, the project is hosted at Google Code:
http://pycomponents.googlecode.com
(Use Source->Browse->Trunk to get to SVN.)
The GUI uses a full component / event model, based on the ideas from
Java/Swing (although quite modified to become more Python-esque). I
don't think I have it all correct yet, but this proof-of-concept shows
that a system like this can be fast enough to be indistinguishable
from the C implementation of panels (which was my primary concern).
Once my python panels have been re-written and documented properly,
I'll integrate the current Blender.Draw() components into them.
The question is: am I wasting my time with this in the long run, and
will Python GUIs become *much* better in the near future (with things
like automated layout, etc.)? What are the general thoughts?
Thanks,
Jonathan Merritt.
More information about the Bf-python
mailing list