你好,我是一个初学者在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_alignment
和page.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.scroll
和page.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)