我正在尝试使用容器在 flet 中制作一个菜单,它应该是半透明的,但其中的项目不是。我尝试将 opacity=1 分配给元素,但没有成功 - 它们与容器一样透明
感谢任何帮助
我的代码:
nickname = ft.TextField(
label="xxx",
hint_text="xxx"
)
column = ft.Column(
controls=[nickname],
alignment=ft.MainAxisAlignment.CENTER,
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
)
container = ft.Container(
content=column,
padding=10,
bgcolor=ft.colors.BLACK,
border_radius=ft.border_radius.all(15))
import flet as ft
def main(page: ft.Page):
nickname = ft.TextField(
label="xxx",
hint_text="xxx"
)
column = ft.Column(
controls=[nickname],
alignment=ft.MainAxisAlignment.CENTER,
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
)
container = ft.Container(
content=column,
padding=10,
bgcolor=ft.colors.BLACK54, # 使用带有 alpha 值的颜色来实现半透明
border_radius=ft.border_radius.all(15)
)
page.add(container)
ft.app(target=main)
说明:
-
使用
bgcolor=ft.colors.BLACK54
实现半透明容器:ft.colors.BLACK54
是一个预定义的颜色,表示黑色,其不透明度为 54%。你可以调整数字(0-255 或 0-99)来改变不透明度。 -
不需要为容器内的元素设置
opacity
: 容器内的元素会继承容器的透明度。
通过以上修改,你的容器将是半透明的,而其中的元素(如
nickname
文本框)将保持完全不透明。