You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Flet Python代码问题:添加的三张卡片无法水平扩展

解决三张卡片无法水平扩展的问题

你的问题出在右侧卡片的布局设置上:虽然你给外层容器和卡片的父Container加了expand=True,但卡片本身没有配置水平方向的填充逻辑,导致它们只会在垂直方向拉伸,水平方向还是跟着内容自适应宽度,没法填满右侧空白。

具体修改方案

给每个卡片内部包裹TextContainer加上expand=True,同时确保Card组件也开启expand=True,让卡片能占满父容器的水平空间。

修改后的完整代码:

mainpage = ft.Row(
  controls=[
      ft.Container(
          content=ft.Card(
              content=ft.Container(
                  content=ft.Column(
                      [
                          ft.Text(
                              "Select your IP",
                              weight=ft.FontWeight.BOLD,
                              size=18,
                              text_align=ft.TextAlign.CENTER,
                          ),
                          *IPBox,
                      ],
                      spacing=5,
                      horizontal_alignment=ft.CrossAxisAlignment.CENTER,
                  ),
                  padding=20,
              )
          ),
          expand=True,
      ),

      ft.Container(
          content=ft.Column(
              [
                  ft.Container(
                      content=ft.Card(
                          content=ft.Container(
                              content=ft.Text("Card 1"),
                              padding=20,
                              expand=True  # 新增:让内部容器占满Card空间
                          ),
                          expand=True  # 确保Card占满父Container空间
                      ),
                      expand=True
                  ),
                  ft.Container(
                      content=ft.Card(
                          content=ft.Container(
                              content=ft.Text("Card 1"),
                              padding=20,
                              expand=True  # 新增
                          ),
                          expand=True
                      ),
                      expand=True
                  ),
                  ft.Container(
                      content=ft.Card(
                          content=ft.Container(
                              content=ft.Text("Card 1"),
                              padding=20,
                              expand=True  # 新增
                          ),
                          expand=True
                      ),
                      expand=True
                  ),
              ],
              spacing=10,
              expand=True,
          ),
          expand=True,
      ),
  ],
  expand=True,
)

补充调整方案

如果上述修改后仍未生效,可以给包裹Column的外层Container添加alignment=ft.alignment.center,或者直接给每个卡片的外层Container设置width=ft.expand,强制水平方向填满可用空间。

内容的提问来源于stack exchange,提问作者Ayman El Hasnaoui

火山引擎 最新活动