Closed jundaychan closed 4 months ago
Description
Code example to reproduce the issue:
(paste your program here)
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Flet version (pip show flet):
pip show flet
(paste your output here)
Give your requirements.txt file (don't pip freeze, instead give direct packages):
requirements.txt
pip freeze
(The requirements)
Operating system:
Additional environment details:
from flet_core import MainAxisAlignment import flet as ft
from src.utils.routes_url import TemplateRoutes import flet_easy as fs from flet_contrib.color_picker import ColorPicker
edit_template_page = fs.AddPagesy() @edit_template_page.page(route=TemplateRoutes.EDIT_URL) def edit_template(data: fs.Datasy,temp_name:str): def back_choose(e): e.page.go(TemplateRoutes.MAIN_URL) e.page.update()
def get_row(): return ft.Row( alignment=MainAxisAlignment.START, spacing=20, ) def get_col(): return ft.Column( alignment=MainAxisAlignment.START, spacing=20,
) def get_title(text): return ft.Text(text, theme_style=ft.TextThemeStyle.TITLE_MEDIUM, weight=ft.FontWeight.BOLD)
def __add_video_config(grade): rotation = ft.Slider(value=0,min=0,max=360,divisions=360,label="{value}°") # 旋转 scale = ft.Slider(value=100,min=0,max=200,divisions=300,label="{value}%") v = get_row() # v.expand = True # v.spacing = 20 v.controls = [ft.Text("旋转角度"),rotation, ft.Text("缩放比例"),scale] z = ft.Container( content=v, alignment=ft.alignment.center, padding=ft.padding.only(left=20,bottom=0) ) return z def __add_text_config(grade): color_text = ft.TextField("#ffffff", border=ft.InputBorder.UNDERLINE, hint_text="请选择颜色", width=200 ) font = ft.TextField( value="宋体", border=ft.InputBorder.UNDERLINE, hint_text="请输入字体", width=200 ) color_picker = ColorPicker( color="#000000", width=200 ) def open_color_picker(e): d.open = True page.update() def change_color(e): color_icon.icon_color = color_picker.color color_text.value = color_picker.color d.open = False page.update() def close_dialog(e): d.open = False d.update() d = ft.AlertDialog( content=color_picker, actions=[ ft.TextButton("OK", on_click=change_color), ft.TextButton("Cancel", on_click=close_dialog), ], actions_alignment=ft.MainAxisAlignment.END, on_dismiss=change_color, ) v = get_row() color_icon = ft.IconButton(icon=ft.icons.BRUSH, on_click=open_color_picker) page.dialog = d font_size =ft.TextField( value="10", input_filter=ft.NumbersOnlyInputFilter(), border=ft.InputBorder.UNDERLINE, hint_text="请输入字体", width=200 ) v.controls= [ft.Text("颜色"),color_text,color_icon,ft.Text("字体"),font,ft.Text("字体大小"),font_size] new_row1 = get_row() x_position = ft.Slider(value=0,min=-3000,max=3000,divisions=6000,label="{value}-------x位置,单位px") y_position = ft.Slider(value=0,min=-3000,max=3000,divisions=6000,label="{value}---------y位置,单位px") scale_uniform = ft.TextField( value="1", input_filter=ft.NumbersOnlyInputFilter(), border=ft.InputBorder.UNDERLINE, hint_text="缩放比例", width=200 ) new_row1.controls = [ft.Text("x轴位置"),x_position,ft.Text("y轴位置"),y_position,ft.Text("缩放比例"),scale_uniform] z = ft.Container( content=ft.Column([v,new_row1],alignment=MainAxisAlignment.START,spacing=20), alignment=ft.alignment.center, padding=ft.padding.only(left=20) ) return z page = data.page params = data.url_params head = ft.Container(content=ft.Row( [ ft.TextField( value=temp_name, label="模板名称", text_size=30, border=ft.InputBorder.NONE, hint_text="请输入模板名称" ), ft.Row( [ ft.ElevatedButton( "保存", icon=ft.icons.SAVE, on_click=back_choose, ), ft.ElevatedButton( "返回", icon=ft.icons.ARROW_BACK, on_click=back_choose, ) ], alignment=MainAxisAlignment.CENTER, spacing=50, ), ], alignment=MainAxisAlignment.SPACE_BETWEEN, ), padding=10, ) ft.Dropdown( width=100, options=[ ft.dropdown.Option("Red"), ft.dropdown.Option("Green") ], ) video_canvas = ft.Dropdown( width=200, options=[ ft.dropdown.Option("1080:1920"), ft.dropdown.Option("1920:1080"), ], ) enable_denoise = ft.Dropdown( width=200, options=[ ft.dropdown.Option("开启"), ft.dropdown.Option("关闭"), ], ) volume = ft.Slider(min=-100,max=20,divisions=120,label="{value} db",width=200) # 音量 basic_list = [ft.Text("音量"),volume,ft.Text("画布"),video_canvas,ft.Text("降噪"),enable_denoise] basic = get_row() basic.controls = basic_list basic_controls = ft.Container(content=basic,padding=ft.padding.only(left=20)) basic_config = ft.ExpansionTile( title=ft.Text("基础设置"), subtitle=ft.Text("这里设置视频的基础参数"), affinity=ft.TileAffinity.PLATFORM, maintain_state=True, controls=[basic_controls], initially_expanded=True, shape=ft.StadiumBorder(), ) video_config = ft.ExpansionTile( title=ft.Text("视频设置"), subtitle=ft.Text("这里设置视频的参数,一级是说普通的视频参数,二级是说重点字词的视频参数,三级是超级重点的字词的视频参数"), affinity=ft.TileAffinity.PLATFORM, maintain_state=True, controls=[], initially_expanded=True, shape=ft.StadiumBorder(), ) video_tabs = ft.Tabs( tabs=[ ft.Tab( text="普通句", content=__add_video_config("grade1"), ), ft.Tab( text="重点句", content=__add_video_config("grade2"), ), ft.Tab( text="超级重点", content=__add_video_config("grade3"), ), ], tab_alignment=ft.TabAlignment.FILL, expand=True, ) for i in range(0, 3): video_config.controls.append(video_tabs) text_tabs = ft.Tabs( tabs=[ ft.Tab( text="普通", content=__add_text_config("grade1"), ), ft.Tab( text="重点字词", content=__add_text_config("grade2"), ), ft.Tab( text="超级重点", content=__add_text_config("grade3"), ), ft.Tab( text="视频标题", content=__add_text_config("grade4"), ), ], tab_alignment=ft.TabAlignment.FILL, expand=True, ) beauty_tabs = ft.Tabs( tabs=[ ft.Tab( text="美颜", content=__add_video_config("普通"), ), ft.Tab( text="美体", ), ft.Tab( text="美型", ), ], tab_alignment=ft.TabAlignment.FILL, expand=True, ) video_config.controls = [video_tabs] temp_v = ft.Row( [ head, ft.Divider( height=1, ), basic_config, ft.Container( content=ft.Text("视频设置",size=16), padding=ft.padding.only(left=20) ), video_config, text_tabs, # beauty_tabs ], scroll=ft.ScrollMode.AUTO, wrap=True, ) return temp_v
Please fill the issue template with all the information.
Description
Code example to reproduce the issue:
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Flet version (
pip show flet
):Give your
requirements.txt
file (don'tpip freeze
, instead give direct packages):Operating system:
Additional environment details:
from flet_core import MainAxisAlignment import flet as ft
from src.utils.routes_url import TemplateRoutes import flet_easy as fs from flet_contrib.color_picker import ColorPicker
edit_template_page = fs.AddPagesy() @edit_template_page.page(route=TemplateRoutes.EDIT_URL) def edit_template(data: fs.Datasy,temp_name:str): def back_choose(e): e.page.go(TemplateRoutes.MAIN_URL) e.page.update()
) def get_title(text): return ft.Text(text, theme_style=ft.TextThemeStyle.TITLE_MEDIUM, weight=ft.FontWeight.BOLD)