Python Flet无法将文本对齐到中心



你好,我是一个初学者在Flet模块我的目标是中心的文本。

根据文档,在文本部件中有一个text_align属性。

我试着使用它,但不工作。

我代码:

import flet as ft

def main(page: ft.Page):
page.title = "Zirinus X Edition"
page.scroll = "adaptive "
title_text = ft.Text(
value=f"Zirinus X",
size=60,
weight=ft.FontWeight.W_100,
text_align="CENTER"
)
page.add(title_text)
page.update()

ft.app(target=main)

更新我想我找到了解决方案,但仍然没有居中文本。

代码:

import flet as ft

def main(page: ft.Page):
page.title = "Zirinus X Edition"
page.scroll = "adaptive "
title_text = ft.Text(
text_align=ft.TextAlign.CENTER,
value=f"Zirinus X",
size=60,
weight=ft.FontWeight.W_100,
)
page.add(title_text)
page.update()

ft.app(target=main)

将小部件的大小设置为其内容大小,如果您将小部件设置为expand=True,则设置为其父部件大小。因此,要在Text小部件中居中文本,您必须将其width设置为特定值或将其放置在宽度设置或随屏幕宽度变化的控件中(如ResponsiveRow)

您必须在main函数中添加page.horizontal_alignmentpage.vertical_alignment。以下是修改后的代码:

import flet as ft
def main(page: ft.Page):
# these two lines will align the text center in the app
page.vertical_alignment = ft.MainAxisAlignment.CENTER
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
# adding the text in the app
page.add(
ft.Text(
value="Hello World!",       # Adding the text
size=32,                    # Increasing the size of the text
weight=ft.FontWeight.BOLD   # it will bold the text
)
)
ft.app(target=main)

不要在每个代码中都添加page.scrollpage.update()。当您在运行应用程序时更改任何内容时,您需要page.update()。例如,通过单击按钮更改文本。否则,它就没有用了。如果你不想滚动应用页面,删除page.scroll。根据你的代码,这里什么也没做。

您可以将Text小部件插入Row并居中对齐。

代码应该是这样的:

import flet as ft
def main(page: ft.Page):
page.title = "Zirinus X Edition"
page.scroll = "adaptive "
title_text = ft.Row(
controls=[
ft.Text(
text_align=ft.TextAlign.CENTER,
value=f"Zirinus X",
size=60,
weight=ft.FontWeight.W_100,
)
],
alignment=ft.MainAxisAlignment.CENTER
)
page.add(title_text)
page.update()
ft.app(target=main)

就用'page '吧。horizontal_alignment"论点。

import flet as ft

def main(page: ft.Page):
page.horizontal_alignment = 'CENTER'
page.title = "Zirinus X Edition"
page.scroll = "adaptive "
title_text = ft.Text(
value=f"Zirinus X",
size=60,
weight=ft.FontWeight.W_100,
text_align="CENTER"
)
page.add(title_text)
page.update()
ft.app(target=main)

最新更新