Задать вопрос
@uyshaaaaaa

Как правильно позиционировать элементы во flet?

Позиционирую элемент через alignment=ft.Alignment(-0.7, -0.6)

def button1(
    page: ft.Page,
    text: str,
    color: str,
    function: Callable
    ) -> ft.Container:
        return ft.Container(content=ft.Stack(
        [
            ft.Image(
                src='assets/images/bgforbt.png',
                fit="contain",
                height=page.window.height * 0.158,
                width=page.window.width * 0.936

            ),
            ft.Container(
                    content=ft.Text(
                        value=text,
                        color=color,
                        size=16,
                        weight=ft.FontWeight.BOLD,
                        text_align=ft.TextAlign.CENTER
                    ),
                    alignment=ft.Alignment.CENTER,  
                )

        ]),
        on_click=function,
        alignment=ft.Alignment(-0.7, -0.6)
    )

У меня то есть в Container расположен Stack, в котором, в свою очередь, изображение и доп контейнер, где расположено поле с текстом, но в приложении текст отдельно от изображения, хотя должен быть на нём и изображение не нужного размера.
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик буткемп
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
у тебя внутренний Container (с текстом) не имеет размеров — он сжимается до размера самого Text и не перекрывает Image. Добавь ему те же width/height что и у картинки:

ft.Container(
    content=ft.Text(
        value=text,
        color=color,
        size=16,
        weight=ft.FontWeight.BOLD,
        text_align=ft.TextAlign.CENTER
    ),
    alignment=ft.Alignment.CENTER,
    width=page.window.width * 0.936,
    height=page.window.height * 0.158,
)


а то что картинка "не того размера" — скорее всего из-за fit="contain", он сохраняет пропорции и не заполняет область целиком. Попробуй fit=ft.ImageFit.COVER если нужно заполнить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы