Flet框架Text组件text_align属性无法实现文本居中求助
Flet Text组件居中失效的解决方法
你遇到的问题核心是:Text组件默认宽度仅适配自身内容宽度,此时text_align属性无法直观体现效果——文本本身已经占满了容器宽度,自然看不出对齐变化。下面是几种可行的解决方式:
方法1:用Container包裹并设置对齐
通过Container组件提供一个充满可用宽度的容器,再指定内部对齐方式:
import flet as ft def main(page: ft.Page): page.title = "Zirinus X Edition" page.scroll = "adaptive" title_text = ft.Container( content=ft.Text( value="Zirinus X", size=60, weight=ft.FontWeight.W_100 ), alignment=ft.alignment.center ) page.add(title_text) page.update() ft.app(target=main)
方法2:让Text组件占满可用宽度
给Text添加expand=True属性,使其填充父容器的可用宽度,此时text_align会生效:
import flet as ft def main(page: ft.Page): page.title = "Zirinus X Edition" page.scroll = "adaptive" title_text = ft.Text( value="Zirinus X", size=60, weight=ft.FontWeight.W_100, text_align=ft.TextAlign.CENTER, expand=True ) page.add(title_text) page.update() ft.app(target=main)
方法3:设置页面全局水平对齐
如果希望页面内所有控件都默认水平居中,可直接设置页面的horizontal_alignment:
import flet as ft def main(page: ft.Page): page.title = "Zirinus X Edition" page.scroll = "adaptive" page.horizontal_alignment = ft.CrossAxisAlignment.CENTER title_text = ft.Text( value="Zirinus X", size=60, weight=ft.FontWeight.W_100 ) page.add(title_text) page.update() ft.app(target=main)
内容的提问来源于stack exchange,提问作者Heisenberg
相关产品推荐
相关产品推荐

