On Dec 27, 2004, at 5:01 PM, JanC wrote:
IMHO this is the worst think for the Python community: you can find one Python only with an excellent support. Great!!!! But on the other hand it is possible to find plenty of GUI tools and for the beginner (and may be not just for the beginner) it is so hard to choose the "proper" one!!!!! The field of GUI tools is so fragmented!!!!
I think the field of GUI frameworks / tools for Python is fragmented because it's fragmented outside of Python too...
I think that the reason things are fragmented in this field is that none of the tools are simple enough to learn. They require a great deal of studying, experimentation, re-coding, Googling, etc., in order to create your first non-trivial GUI app. Once you've gone through all that, you'll probably not want to start over again with another tool, since you'll face a similar ordeal with that tool.
This was one of our motivations in developing Dabo: making a tool that was easy for any competent Python developer to pick up in a short period of time. We're using the wxPython toolkit as the underlying UI toolkit, but wrapping as much of it as we can to make the interface to the Dabo UI simple. We're also wrapping it to make it independent of the underlying UI toolkit; ideally, the same code should work for TkInter, wxPython, Qt, etc. For example, I spent yesterday developing the menu classes. Here's an example of the wxPython code necessary to create a menu and add an item to it that calls a particular method when chosen:
menu = wx.Menu() itmID = wx.NewId() itm = wx.MenuItem(menu, itmID, text="Close Window") self.Bind(EVT_MENU, self.onCloseWindow, itmID)
Here's the equivalent in Dabo:
menu = dabo.ui.dMenu() itm = menu.append("Close Window", self, self.onCloseWindow)
Note that there is nothing wxPython-ish about the Dabo code. The goal is to make GUI development as simple as Python development. If we can reach that goal (and yes, I'm quite aware of the difficulty involved), it is my belief that there is a good chance that we will reach a critical mass where enough people are using the tool that it may become a 'standard'.
___/ / __/ / ____/ Ed Leafe http://leafe.com/ http://dabodev.com/
-- http://mail.python.org/mailman/listinfo/python-list