当前位置: 首页>>代码示例>>Python>>正文


Python traitlets.link方法代码示例

本文整理汇总了Python中traitlets.link方法的典型用法代码示例。如果您正苦于以下问题:Python traitlets.link方法的具体用法?Python traitlets.link怎么用?Python traitlets.link使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在traitlets的用法示例。


在下文中一共展示了traitlets.link方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def __init__(self, mol):
        super().__init__(mol)

        self.selection_type = ipy.Dropdown(description='Clicks select:',
                                           value=self.viewer.selection_type,
                                           options=('Atom', 'Residue', 'Chain'))

        traitlets.link((self.selection_type, 'value'), (self.viewer, 'selection_type'))

        self.residue_listname = ipy.Label('Selected residues:', layout=ipy.Layout(width='100%'))
        self.residue_list = ipy.SelectMultiple(options=list(), height='150px')
        self.viewer.observe(self._update_reslist, 'selected_atom_indices')

        self.residue_list.observe(self.remove_atomlist_highlight, 'value')
        self.atom_list.observe(self.remove_reslist_highlight, 'value')

        self.subtools.children = [self.representation_buttons]
        self.subtools.layout.flex_flow = 'column'
        self.toolpane.children = [self.selection_type,
                                  HBox([self.select_all_atoms_button, self.select_none]),
                                  self.atom_listname,
                                  self.atom_list,
                                  self.residue_listname,
                                  self.residue_list] 
开发者ID:Autodesk,项目名称:notebook-molecular-visualization,代码行数:26,代码来源:selection.py

示例2: __init__

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def __init__(self, format=None, *args, **kwargs):
        description = kwargs.pop('description', 'FloatSlider')
        min = kwargs.setdefault('min', 0.0)
        max = kwargs.setdefault('max', 10.0)
        self.formatstring = format
        self.header = ipy.HTML()
        self.readout = ipy.Text(layout=ipy.Layout(width='100px'))
        self.readout.on_submit(self.parse_value)

        kwargs.setdefault('readout', False)
        self.slider = ipy.FloatSlider(*args, **process_widget_kwargs(kwargs))
        self.minlabel = ipy.HTML(u'<font size=1.5>{}</font>'.format(self.formatstring.format(min)))
        self.maxlabel = ipy.HTML(u'<font size=1.5>{}</font>'.format(self.formatstring.format(max)))
        self.sliderbox = HBox([self.minlabel, self.slider, self.maxlabel])
        traitlets.link((self, 'description'), (self.header, 'value'))
        traitlets.link((self, 'value'), (self.slider, 'value'))
        self.description = description
        self.update_readout()
        super().__init__([self.header,
                                                  self.readout,
                                                  self.sliderbox]) 
开发者ID:Autodesk,项目名称:notebook-molecular-visualization,代码行数:23,代码来源:components.py

示例3: __init__

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def __init__(self, *args, **kwargs):
        self._select = Dropdown(*args,**kwargs)
        self._edit = Button(description='...',
                            layout=Layout(width='15px'))
        self._composite = HBox([self._select,self._edit])
        super(DropdownWithEdit, self).__init__()
        self.layout = self._composite.layout
        # so that others looking at this widget's value get the
        # dropdown's value
        traitlets.link((self._select,'value'),(self,'value'))
        self._edit.on_click(lambda _: editor(self._select.value))
        self._select.observe(lambda e: self._set_editable(e['new']),'value')
        self._set_editable(self._select.value) 
开发者ID:ioam,项目名称:paramnb,代码行数:15,代码来源:widgets.py

示例4: make_controls

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def make_controls(self):
        self.playbutton = ipy.Play(value=0,
                                   min=0,
                                   max=self.traj.num_frames-1)

        self.slider = ipy.IntSlider(value_selects='framenum', value=0,
                                    description='Frame:', min=0, max=len(self.traj)-1,
                                    readout=False)
        self.readout = ipy.HTML(value='/%d' % (self.traj.num_frames - 1))
        self.annotation = ipy.HTML()

        traitlets.link((self.playbutton, 'value'), (self.slider, 'value'))
        traitlets.link((self.slider, 'value'), (self, 'current_frame'))
        return VBox((self.annotation,
                     HBox((self.playbutton, self.slider, self.readout)))) 
开发者ID:Autodesk,项目名称:notebook-molecular-visualization,代码行数:17,代码来源:trajectory_viewer.py

示例5: show_training

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def show_training(self, div_id, div_costs_curve, cost_values) :
		#div_id = self.show(*args, **kwargs)
		
		def change_frame(w) :
			#print(w)
			updates = self.get_frame(w-1)
			script = ''
			for i in range(len(updates[0])) :
				jupdate      = json.dumps(updates[0][i], cls=utils.PlotlyJSONEncoder)
				jupdate_cost = json.dumps(dict(x = [[w]], y = [[cost_values[w-1]]]), cls=utils.PlotlyJSONEncoder)
				script = script \
					+ 'Plotly.restyle("{id}", {update}, [{index}]);'.format(
					id=div_id,
					update=jupdate, index = updates[1][i]) \
					+ 'Plotly.restyle("{id}", {update}, [{index}]);'.format(
					id=div_costs_curve,
					update=jupdate_cost, index = 1)
			update_str = (
				'<script type="text/javascript">' +
				'window.PLOTLYENV=window.PLOTLYENV || {{}};' +
				'window.PLOTLYENV.BASE_URL="' + 'https://plot.ly' + '";' +
				'{script}' +
				'</script>').format(script=script)
			#print(script)
			display(HTML(update_str))
		#print(self.frames)
		maxframe = len(self.frames) - 1
		play = Play(value=maxframe)
		slider = IntSlider(min=1, max=maxframe, step=1, value=maxframe,continuous_update=False)
		slider.layout.width = '100%'
		#jslink((play, 'value'), (slider, 'value'))
		traitlets.link((play, 'value'), (slider, 'value'))
		hb = HBox([play, slider])
		slider.observe((lambda iteration : change_frame(iteration['new'])), names='value')
		change_frame(maxframe)
		#play.observe((lambda iteration : print(iteration['new'])), names='value')
		#display(hb)
		return hb 
开发者ID:jeanfeydy,项目名称:lddmm-ot,代码行数:40,代码来源:model.py

示例6: link_widgets

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def link_widgets(self) :
		self.w_manifold_type.observe(self.on_manifold_type_change, names='value')
		self.w_create_manifold.on_click(self.create_manifold)
		self.w_choose_hypertemplate.on_click(self.choose_hypertemplate)
		self.w_choose_data.on_click(self.choose_data)
		self.w_create_model.on_click(self.create_model)
		self.w_train.on_click(self.train_model)
		self.w_show.on_click(self.show_model)
		traitlets.link((self.w_niterations, 'value'), (self.w_iterations, 'max'))
		
		# Energy update
		self.w_template_type.observe(self.update_energy_latex, names='value')
		self.w_reg_hypertemplate.observe(self.update_energy_latex, names='value')
		self.w_sigma_reg_hypertemplate.observe(self.update_energy_latex, names='value')
		self.w_gamma_V0.observe(self.update_energy_latex, names='value')
		self.w_sigma_V0.observe(self.update_energy_latex, names='value')
		self.w_shooting_dim_constraint.observe(self.update_energy_latex, names='value')
		self.w_gamma_V.observe(self.update_energy_latex, names='value')
		self.w_frechet_exponent.observe(self.update_energy_latex, names='value')
		self.w_data_attachment.observe(self.update_energy_latex, names='value')
		self.w_gamma_W.observe(self.update_energy_latex, names='value')
		
		
		# Algorithm update
		self.w_X0_gradient_distribution.observe(self.update_algorithm_latex, names='value')
		self.w_X0_descent_mode.observe(self.update_algorithm_latex, names='value')
		self.w_X0_descent_speed.observe(self.update_algorithm_latex, names='value')
		self.w_Xi_gradient_distribution.observe(self.update_algorithm_latex, names='value')
		self.w_Xi_descent_mode.observe(self.update_algorithm_latex, names='value')
		self.w_Xi_descent_speed.observe(self.update_algorithm_latex, names='value')
		self.w_Ei_gradient_distribution.observe(self.update_algorithm_latex, names='value')
		self.w_Ei_descent_mode.observe(self.update_algorithm_latex, names='value')
		self.w_Ei_descent_speed.observe(self.update_algorithm_latex, names='value')
		self.w_descent_stopping_criterion.observe(self.update_algorithm_latex, names='value')
		self.w_niterations.observe(self.update_algorithm_latex, names='value')
		self.w_descent_threshold.observe(self.update_algorithm_latex, names='value')
		
		
		self.update_energy_latex()
		self.update_algorithm_latex() 
开发者ID:jeanfeydy,项目名称:lddmm-ot,代码行数:42,代码来源:interactive_riemannian_geometry.py

示例7: create_settings

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def create_settings(box):
    "Creates a widget Container for settings and info of a particular slider."
    _, slider, sl_units = box.children

    enable = widgets.Checkbox(value=box.visible, width="3ex")
    link((box, 'visible'), (enable, 'value'))

    def slider_link(obj, attr):
        "Function to link one object to an attr of the slider."
        # pylint: disable=unused-argument
        def link_fn(name, new_value):
            "How to update the object's value given min/max on the slider. "
            if new_value >= slider.max:
                slider.max = new_value
            # if any value is greater than the max, the max slides up
            # however, this is not held true for the minimum, because
            # during typing the max or value will grow, and we don't want
            # to permanently anchor the minimum to unfinished typing
            if attr == "max" and new_value <= slider.value:
                if slider.max >= slider.min:
                    slider.value = new_value
                else:
                    pass  # bounds nonsensical, probably because we picked up
                          # a small value during user typing.
            elif attr == "min" and new_value >= slider.value:
                slider.value = new_value
            setattr(slider, attr, new_value)
            slider.step = (slider.max - slider.min)/24.0
        obj.on_trait_change(link_fn, "value")
        link((slider, attr), (obj, "value"))

    text_html = "<span class='form-control' style='width: auto;'>"
    setvalue = widgets.FloatText(value=slider.value,
                                 description=slider.description)
    slider_link(setvalue, "value")
    fromlabel = widgets.HTML(text_html + "from")
    setmin = widgets.FloatText(value=slider.min, width="10ex")
    slider_link(setmin, "min")
    tolabel = widgets.HTML(text_html + "to")
    setmax = widgets.FloatText(value=slider.max, width="10ex")
    slider_link(setmax, "max")

    units = widgets.Label()
    units.width = "6ex"
    units.font_size = "1.165em"
    link((sl_units, 'value'), (units, 'value'))
    descr = widgets.HTML(text_html + slider.varkey.descr.get("label", ""))
    descr.width = "40ex"

    return widgets.HBox(children=[enable, setvalue, units, descr,
                                  fromlabel, setmin, tolabel, setmax],
                        width="105ex") 
开发者ID:convexengineering,项目名称:gpkit,代码行数:54,代码来源:widgets.py

示例8: figure

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def figure(
    key=None,
    width=400,
    height=500,
    lighting=True,
    controls=True,
    controls_vr=False,
    controls_light=False,
    debug=False,
    **kwargs
):
    """Create a new figure if no key is given, or return the figure associated with key.

    :param key: Python object that identifies this figure
    :param int width: pixel width of WebGL canvas
    :param int height:  .. height ..
    :param bool lighting: use lighting or not
    :param bool controls: show controls or not
    :param bool controls_vr: show controls for VR or not
    :param bool debug: show debug buttons or not
    :return: :any:`Figure`
    """
    if key is not None and key in current.figures:
        current.figure = current.figures[key]
        current.container = current.containers[key]
    elif isinstance(key, ipv.Figure) and key in current.figures.values():
        key_index = list(current.figures.values()).index(key)
        key = list(current.figures.keys())[key_index]
        current.figure = current.figures[key]
        current.container = current.containers[key]
    else:
        current.figure = ipv.Figure(width=width, height=height, **kwargs)
        current.container = ipywidgets.VBox()
        current.container.children = [current.figure]
        if key is None:
            key = uuid.uuid4().hex
        current.figures[key] = current.figure
        current.containers[key] = current.container
        if controls:
            # stereo = ipywidgets.ToggleButton(value=current.figure.stereo, description='stereo', icon='eye')
            # l1 = ipywidgets.jslink((current.figure, 'stereo'), (stereo, 'value'))
            # current.container.children += (ipywidgets.HBox([stereo, ]),)
            pass  # stereo and fullscreen are now include in the js code (per view)
        if controls_vr:
            eye_separation = ipywidgets.FloatSlider(value=current.figure.eye_separation, min=-10, max=10, icon='eye')
            ipywidgets.jslink((eye_separation, 'value'), (current.figure, 'eye_separation'))
            current.container.children += (eye_separation,)
        if controls_light:
            globals()['controls_light']()
        if debug:
            show = ipywidgets.ToggleButtons(options=["Volume", "Back", "Front", "Coordinate"])
            current.container.children += (show,)
            # ipywidgets.jslink((current.figure, 'show'), (show, 'value'))
            traitlets.link((current.figure, 'show'), (show, 'value'))
    return current.figure 
开发者ID:maartenbreddels,项目名称:ipyvolume,代码行数:57,代码来源:pylab.py

示例9: draw

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def draw(group, width=None, height=None, show_2dhydrogens=None, display=False,
         **kwargs):
    """ Visualize this molecule (Jupyter only).

    Creates a 3D viewer, and, for small molecules, a 2D viewer).

    Args:
        width (str or int): css width spec (if str) or width in pixels (if int)
        height (str or int): css height spec (if str) or height in pixels (if int)
        show_2dhydrogens (bool): whether to show the hydrogens in 2d (default: True if there
               are 10 or less heavy atoms, false otherwise)
        display (bool): immediately display this viewer
        **kwargs (dict): keyword arguments for GeometryViewer only

    Returns:
        moldesign.ui.SelectionGroup
    """

    atom_inspector = AtomInspector(group.atoms)

    if group.num_atoms < 40:
        width = width if width is not None else 500
        height = height if height is not None else 500
        viz2d = draw2d(group, width=width, height=height,
                       display=False,
                       show_hydrogens=show_2dhydrogens)
        viz3d = draw3d(group, width=width, height=height,
                       display=False, **kwargs)
        traitlets.link((viz3d, 'selected_atom_indices'), (viz2d, 'selected_atom_indices'))
        views = HBox([viz2d, viz3d])
    else:
        viz2d = None
        viz3d = draw3d(group, display=False, **kwargs)
        views = viz3d

    traitlets.link((viz3d, 'selected_atom_indices'),
                   (atom_inspector, 'selected_atom_indices'))

    if viz2d:
        traitlets.link((viz2d, 'selected_atom_indices'),
                       (atom_inspector, 'selected_atom_indices'))

    displayobj = viewers.ViewerContainer([views, atom_inspector],
                                         viewer=viz3d,
                                         graphviewer=viz2d)

    if display:
        dsp(displayobj)
    return displayobj 
开发者ID:Autodesk,项目名称:notebook-molecular-visualization,代码行数:51,代码来源:atomgroups.py

示例10: _make_ui_pane

# 需要导入模块: import traitlets [as 别名]
# 或者: from traitlets import link [as 别名]
def _make_ui_pane(self, hostheight):
        layout = ipy.Layout(width='325px',
                            height=str(int(hostheight.rstrip('px')) - 50) + 'px')
        #element_height = str(int(hostheight.rstrip('px')) - 125) + 'px'
        element_height = None
        # NOTE - element_height was used for the listbox-style orblist.
        #   HOWEVER ipywidgets 6.0 only displays those as a dropdown.
        #   This is therefore disabled until we can display listboxes again. -- AMV 7/16

        # Orbital set selector
        self.status_element = ipy.HTML(layout=ipy.Layout(width='inherit', height='20px'))
        orbtype_label = ipy.Label("Orbital set:")
        self.type_dropdown = ipy.Dropdown(options=list(self.wfn.orbitals.keys()))
        initialtype = 'canonical'
        if initialtype not in self.type_dropdown.options:
            initialtype = next(iter(self.type_dropdown.options.keys()))
        self.type_dropdown.value = initialtype
        self.type_dropdown.observe(self.new_orb_type, 'value')

        # List of orbitals in this set
        orblist_label = ipy.Label("Orbital:")
        self.orblist = ipy.Dropdown(options={None: None},
                                    layout=ipy.Layout(width=layout.width, height=element_height))
        traitlets.link((self.orblist, 'value'), (self, 'current_orbital'))

        # Isovalue selector
        isoval_label = ipy.Label('Isovalue:')
        self.isoval_selector = ipy.FloatSlider(min=0.0, max=0.075,
                                               value=0.01, step=0.00075,
                                               readout_format='.4f',
                                               layout=ipy.Layout(width=layout.width))
        traitlets.link((self.isoval_selector, 'value'), (self, 'isoval'))

        # Opacity selector
        opacity_label = ipy.Label('Opacity:')
        self.opacity_selector = ipy.FloatSlider(min=0.0, max=1.0,
                                               value=0.8, step=0.01,
                                               readout_format='.2f',
                                               layout=ipy.Layout(width=layout.width))
        traitlets.link((self.opacity_selector, 'value'), (self, 'orb_opacity'))

        # Resolution selector
        resolution_label = ipy.Label("Grid resolution:", layout=ipy.Layout(width=layout.width))
        self.orb_resolution = ipy.Text(layout=ipy.Layout(width='75px',
                                                         positioning='bottom'))
        self.orb_resolution.value = str(self.numpoints)
        self.resolution_button = ipy.Button(description='Update resolution')
        self.resolution_button.on_click(self.change_resolution)
        traitlets.directional_link((self, 'numpoints'), (self.orb_resolution, 'value'),
                                   transform=str)

        self.uipane = ipy.VBox([self.status_element,
                                orbtype_label, self.type_dropdown,
                                orblist_label, self.orblist,
                                isoval_label, self.isoval_selector,
                                opacity_label, self.opacity_selector,
                                resolution_label, self.orb_resolution, self.resolution_button])
        self.new_orb_type()
        self.type_dropdown.observe(self.new_orb_type, 'value')
        return self.uipane 
开发者ID:Autodesk,项目名称:notebook-molecular-visualization,代码行数:62,代码来源:orbital_viewer.py


注:本文中的traitlets.link方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。