/
lemut
/
cifranet
Обзор
Документация
Войти
/
lemut
/
cifranet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
callback.py
58 строк
1 KB
lemut
first_commit
23 июл 2026, 11:49
23 июл 2026, 11:49
910f940
Код
Авторство
О чём код?
import dash from dash import dcc, html, Input, Output, State, callback import dash_bootstrap_components as dbc app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP]) app.layout = html.Div([ dcc.Dropdown( id='theme-selector', options=[ {'label': 'Светлая тема', 'value': 'light'}, {'label': 'Темная тема', 'value': 'dark'}, {'label': 'Контрастная', 'value': 'contrast'} ], value='light' ), html.Div(id='content', children=[ html.H1("Динамические стили"), html.P("Текст для демонстрации"), dbc.Button("Кнопка", id='btn') ], className='light-theme') ]) @callback( Output('content', 'className'), Input('theme-selector', 'value') ) def update_theme(theme): return f'{theme}-theme' @callback( Output('content', 'style'), Input('theme-selector', 'value') ) def update_theme(theme): themes = { 'light': { 'backgroundColor': 'white', 'color': 'black', 'padding': '20px' }, 'dark': { 'backgroundColor': '#333', 'color': 'white', 'padding': '20px' }, 'contrast': { 'backgroundColor': 'yellow', 'color': 'black', 'padding': '20px', 'fontWeight': 'bold' } } return themes.get(theme, {}) if __name__ == '__main__': app.run(debug=True)