Как автоматически изменять размер и положение элементов управления при изменении размера окна?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как автоматически изменять размер и положение элементов управления при изменении размера окна?

Сообщение Anonymous »

Я пытаюсь разработать черновое приложение с помощью Python Flet. Моя цель — найти способ позиционировать или, альтернативно, указать размеры элементов управления относительно размеров их родительских элементов управления. Например, ширина кнопки составляет 70 % ширины контейнера, что, в свою очередь, составляет 30 % ширины страницы. Таким образом, размеры каждого элемента управления автоматически изменяются при изменении размера страницы пользователем, оставаясь в тех же пропорциях.
Мне показалось интересным это свойство, но когда я уменьшаю размер окна, что-то все равно не работает. Я бы хотел, чтобы каждый элемент управления на странице уменьшал свои размеры пропорционально размеру окна.

Код: Выделить всё

import flet as ft

def main(page: ft.Page):
page.scroll = ft.ScrollMode.AUTO

### AMBER LEFT CONTAINER ###
col1 = ft.Column([ft.IconButton(icon=ft.icons.UPLOAD_FILE),
ft.IconButton(icon=ft.icons.PICTURE_AS_PDF_OUTLINED),
ft.IconButton(icon=ft.icons.SAVE),])

cont1 = ft.Container(content=col1,
height = page.height,
expand=3, #30% of the page width
bgcolor=ft.colors.AMBER,)
### LEFT CONTAINER ###

### RED RIGHT CONTAINER ###
row0 = ft.Row([ft.Image(src=f"/icon.png", width=200, height=100, fit=ft.ImageFit.FILL,),],
alignment=ft.CrossAxisAlignment.CENTER)
row1 = ft.Row([ft.IconButton(icon=ft.icons.ARROW_CIRCLE_LEFT),
ft.Text("71/155"),
ft.IconButton(icon=ft.icons.ARROW_CIRCLE_RIGHT),])
row2 = ft.Row([ft.TextField(label="Find this keyword inside doc"),
ft.IconButton(icon=ft.icons.FIND_IN_PAGE)])
row3 = ft.Row([ft.TextField(label="Extract these pages from doc", expand=20),
ft.IconButton(icon=ft.icons.FIND_IN_PAGE, expand=1),])

cont2 = ft.Container(content=ft.Column([row0, row1, row2, row3]),
height = page.height,
expand=7, #70% of the page width
bgcolor=ft.colors.RED,)
### RIGHT CONTAINER ###

page.add(ft.Row([cont1, cont2]))
page.update()

ft.app(target=main, assets_dir="assets")
Как указать размеры элементов управления, чтобы их размер изменялся пропорционально размеру окна?


Подробнее здесь: https://stackoverflow.com/questions/787 ... is-resized
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»