[IPython-dev] Widget example that uses classes instead of globals?
cyrille.rossant at gmail.com
Sat Aug 30 13:49:49 EDT 2014
I think you can use the "display" function to render a widget instance,
does that answer your question?
De : Adam Hughes <hughesadam87 at gmail.com>
Envoyé : 30/08/2014 18:43
À : IPython developers list <ipython-dev at scipy.org>
Objet : Re: [IPython-dev] Widget example that uses classes instead of
And just to clarify, I presume that the notebook is actively "looking" for
particular functions or something in the cell that let's the notebook know
"hey, this is widget/GUI code, I need to output it as so". I had worried
that if this critical piece was buried in a class, the notebook wouldn't
recognize it, and the GUI wouldn't display.
On Sat, Aug 30, 2014 at 1:41 PM, Adam Hughes <hughesadam87 at gmail.com> wrote:
> This question follows directly from this recent thread on the feasiblity
> of widgets (
> but I thought was specific enough to be a new thread.
> In all of the notebook examples I've seen, a GUI is defined in its own
> cell with global variables that are shared between functions. I'd really
> like to see a complete, simple example of a GUI build as a class, where
> most of the events, updates and default values are set within the class.
> And then when the class is instantiated, the notebook somehow can still
> output the GUI.
> For example, would something of this design be compatible with the current
> widget design pattern:
> *class Foo(object):*
> * variable = defaultvalue*
> * def update_variable(self):*
> * ....*
> * def redraw(self):*
> * ...*
> *# Instantiate the class*
> *f = Foo()*
> *f.variable_widget.on_trait_change(update_variable, 'value')*
> Or is this type of design pattern out of the question? We're trying to
> move in this direction so that we can compartmentalize and template as much
> behavior as possible, and make a simple framework for building up more
> complex GUIs. It's just now clear to me if such a pattern is possible. If
> anyone has any insights or examples, would you mind sharing?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the IPython-dev