1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import logging
- import flet as ft
- from Home import HomePage
- from Todo import TodoPage
- import plotly.graph_objects as go
- from flet.plotly_chart import PlotlyChart
- from PlotlyChart import ChartPage
- def main(page: ft.Page):
- log_format = "%(asctime)s - %(levelname)s - %(message)s"
- logging.basicConfig(filename='app.log', level=logging.DEBUG, format=log_format)
- logging.info('程序启动')
- content = HomePage()
- def menu_changed(e):
- content.controls.clear()
- print("Selected destination:", e.control.selected_index)
- if e.control.selected_index == 0:
- content.controls.append(HomePage())
- elif e.control.selected_index == 1:
- # content.controls.append(ft.Text("One!"))
- content.controls.append(TodoPage())
- elif e.control.selected_index == 2:
- content.controls.append(ft.Text("商品库!"))
- elif e.control.selected_index == 3:
- fig = ChartPage().DrawChart()
- # fig.show()
- content.controls.append(PlotlyChart(fig, expand=True))
- elif e.control.selected_index == 4:
- content.controls.append(ft.Text("Setting!"))
- page.update()
- rail = ft.NavigationRail(
- selected_index=0,
- label_type=ft.NavigationRailLabelType.ALL,
- # extended=True,
- min_width=100,
- min_extended_width=400,
- # leading=ft.FloatingActionButton(icon=ft.icons.CREATE, text="Add"),
- group_alignment=-0.9,
- destinations=[
- ft.NavigationRailDestination(
- icon=ft.icons.HOME, selected_icon=ft.icons.HOME, label="首页"
- ),
- ft.NavigationRailDestination(
- icon_content=ft.Icon(ft.icons.FAVORITE),
- selected_icon_content=ft.Icon(name=ft.icons.FAVORITE, color=ft.colors.PINK),
- label="关键词",
- ),
- ft.NavigationRailDestination(
- icon_content=ft.Icon(ft.icons.SHOPIFY),
- selected_icon_content=ft.Icon(name=ft.icons.SHOPIFY, color=ft.colors.PINK),
- label="商品库",
- ),
- ft.NavigationRailDestination(
- icon_content=ft.Icon(ft.icons.BAR_CHART),
- selected_icon_content=ft.Icon(name=ft.icons.BAR_CHART, color=ft.colors.PINK),
- label="数据分析",
- ),
- ft.NavigationRailDestination(
- icon=ft.icons.SETTINGS_OUTLINED,
- selected_icon_content=ft.Icon(ft.icons.SETTINGS),
- label_content=ft.Text("Settings"),
- ),
- ],
- on_change=menu_changed,
- )
- page.title = 'First App'
- page.add(
- ft.Row(
- [
- rail,
- ft.VerticalDivider(width=1),
- content,
- ],
- expand=True,
- )
- )
- ft.app(target=main)
|