Flet中Container半透明设置问题:子元素透明度无法独立调整求助
Flet容器半透明但子元素不透明的解决方法
在Flet中,如果你直接给Container设置opacity属性,容器内的所有子元素会继承这个透明度,所以单独给子元素设置opacity=1不会生效。正确的做法是给容器的背景色添加透明度,而非使用容器的opacity参数。
修改你的代码,将bgcolor改为带透明度的颜色值即可:
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, # 使用with_opacity给背景色添加透明度,第一个参数是透明度(0-1),第二个是基础颜色 bgcolor=ft.colors.with_opacity(0.5, ft.colors.BLACK), border_radius=ft.border_radius.all(15) ) page.add(container) if __name__ == "__main__": ft.app(target=main)
这样设置后,容器背景是半透明的黑色,而内部的TextField会保持完全不透明的状态。你可以调整with_opacity的第一个参数(0到1之间)来改变背景的透明程度。
内容的提问来源于stack exchange,提问作者trassert
相关产品推荐
相关产品推荐

