trame-vuetify

3.2.1 · active · verified Wed Apr 15

Trame-vuetify extends Trame's widgets and UI with Vuetify's Material Design components. Vuetify is a UI Library with beautifully handcrafted Material Components, enabling users to create rich web applications without extensive design skills. It is not meant to be used standalone but as a dependency of `trame`. The current version is 3.2.1, and it follows the release cadence of `trame` and `Vuetify` updates.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates a basic Trame application using `trame-vuetify` components like `VSlider`, `VTextField`, and `VBtn` within a `SinglePageLayout`. It shows how to bind Python state variables (`slider_value`, `name`) to Vuetify components and handle events. Explicitly setting `client_type="vue3"` is recommended for `trame` v3.

from trame.app import get_server
from trame.ui.vuetify import SinglePageLayout
from trame.widgets import vuetify

server = get_server(client_type="vue3") # Set client_type explicitly for Trame v3

@server.state.change("slider_value")
def on_slider_change(slider_value, **kwargs):
    print(f"Slider value changed to: {slider_value}")

with SinglePageLayout(server) as layout:
    layout.title.set_text("Trame-Vuetify Example")
    with layout.content:
        with vuetify.VContainer():
            vuetify.VSlider(
                label="Example Slider",
                min=0,
                max=100,
                v_model=("slider_value", 50), # (state_variable, default_value)
                class_="my-4",
            )
            vuetify.VTextField(
                label="Your Name",
                v_model=("name", "Trame User"),
                clearable=True,
                outlined=True,
            )
            vuetify.VBtn(
                "Hello",
                click="alert(`Hello ${name}!`)",
                color="primary",
                class_="mt-2",
            )

if __name__ == "__main__":
    server.start()

view raw JSON →