> object mainwindow=GTK2.Window(GTK2.WindowToplevel); > mainwindow->set_title("Timing")->set_default_size > (400,300)->signal_connect("destroy",window_destroy); GTK2.HbuttonBox > btns=GTK2.HbuttonBox()->set_layout(GTK2.BUTTONBOX_SPREAD); foreach > (labels,string lbl) btns->add(buttons[lbl]=button(lbl,mode_change)); > mainwindow->add(GTK2.Vbox(0,0) > > ->add(GTK2.TextView(buffer=GTK2.TextBuffer())->set_size_request(0,0)) > ->pack_start(btns,0,0,0))->show_all(); > > If you're a complete non-programmer, then of course that's an opaque > block of text.
Thanks for that hideously appalling example of a ridiculously low-level mess. If you're an occasional Python scripting dilettant, this looks like a heap of syntax garbage of exactly that kind that has made me avoid all C-derived languages at university (I'm a mechanical engineer) and that makes me avoid GUI programming with Python so far. If a domain specialist needs an application with a GUI, (s)he typically only wants to have to tell the framework three things: 1. What the domain model looks like (classes, attributes) and what it does in terms of behaviour (domain logic, methods). In my use-cases this would be typically done with SQLalchemy. 2. What the GUI shows of the domain model and how it does it - define menus with entries, layout forms/dialog boxes with fields etc. This should be done without having to permanently look up all the specific details of the API of the GUI framework. 3. What attribute/method of the domain model a GUI element is "connected to" (sorry for the quotes again). This should be possible in an interactive way, so that you can test whether GUI and code work together as required while defining the connections. Anything else should be done by the framework without the necessity to write a single line of code for the "straight forward" use cases: - creating, retrieving, updating, deleting instances of domain model classes - setting values of attributes instances of domain model classes - calling methods of instances of domain model classes Sincerely, Wolfgang -- http://mail.python.org/mailman/listinfo/python-list