跳转到主要内容

基于vuetify UI组件的Jupyter小部件

项目描述

ipyvuetify

Documentation Version Version Conda Version Binder Black badge conventional commit

Jupyter小部件,基于vuetify UI组件实现谷歌的Material Design规范,并使用Vue.js框架

少量小部件选择

ipyvuetify

安装

要安装,请使用pip

$ pip install ipyvuetify

# for Jupyter Lab < 3
$ jupyter labextension install jupyter-vuetify

对于开发安装(需要npm),

$ git clone https://github.com/mariobuikhuizen/ipyvuetify.git
$ cd ipyvuetify
$ pip install -e ".[dev]"
$ pre-commit install
$ jupyter nbextension install --py --symlink --sys-prefix ipyvuetify
$ jupyter nbextension enable --py --sys-prefix ipyvuetify

文档

要开始使用ipyvuetify,请查看完整文档

https://ipyvuetify.readthedocs.io/

用法

有关示例,请参阅示例笔记本

可以使用Vuetify文档查找所有可用的组件和属性(在左侧栏或使用搜索字段)。Ipyvuetify尝试保持与Vue.js和Vuetify模板语法的接近,但也有一些差异

描述 Vueify ipyvuetify
组件名称采用驼峰命名法,v-前缀被去除 <v-list-tile .../> ListTile(...)
子组件和文本定义在children traitlet中 <v-btn>文本 <v-icon .../></v-btn> Btn(children=['text', Icon(...)])
标志属性需要布尔值 <v-btn round ... Btn(round=True ...
属性采用snake_case命名 <v-menu offset-y .. Menu(offset_y=True ...
v_model属性(在ipywidgets中的值)直接包含值 <v-slider v-model="some_property" ... Slider(v_model=25...
事件监听器使用on_event定义 <v-btn @click='someMethod()' ... button.on_event('click', some_method)
def some_method(widget, event, data)
可以使用Html类创建常规HTML标签 <div>...</div> Html(tag='div', children=[...])
属性class和style需要后缀加下划线 <v-btn class="mr-3" style="..." > Btn(class_='mr-3', style_='...')

高级用法

.sync

可以通过使用名为update:[propertyNameInCamelCase]的事件来实现在属性修饰符的功能
(作用域)插槽.

Vueify
<v-navigation-drawer :mini-variant.sync=...
ipyvuetify
drawer = v.NavigationDrawer(mini_variant=True, ...)

def update_mini(widget, event, data):
    drawer.mini_variant = data`

drawer.on_event('update:miniVariant', update_mini)

对于非作用域插槽,可以省略'scope': 'x'v_on

Vueify
<v-menu>
  <template slot:activator="{ on }">
    <v-btn v-on="on">...</v-btn>
  </template>
  <v-list>
    ...
  </v-list>
</v-menu>
ipyvuetify
Menu(v_slots=[{
    'name': 'activator',
    'variable': 'x',
    'children': Btn(v_on='x.on', children=[...])
}], children=[
    List(...)
])

图标

可用的图标

https://material.io/resources/icons/(已弃用)

为了更专注于Web开发的方式以及更接近Vue/Vuetify API,可以使用VuetifyTemplate。请参阅示例Binder

创建VuetifyTemplate的子类,定义自己的traitlets并设置模板字符串。traitlets将像vue-model中的属性一样从模板中访问。可以通过定义带有前缀vue_的方法(例如def vue_button_click(self, data))并从模板中调用它来调用方法(例如@click="button_click(e)")。

项目ipyvuetify直接从以下来源获得资金

赞助商

项目详情

MSD

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面