Как получить список/дерево всех элементов управления, добавленных на страницу, и как получить доступ к одному из нихPython

Программы на Python
Ответить
Anonymous
 Как получить список/дерево всех элементов управления, добавленных на страницу, и как получить доступ к одному из них

Сообщение Anonymous »

Я разработал простое приложение с помощью Flet Python. Приложение содержит некоторые элементы управления, такие как текст и кнопки, организованные в строки и столбцы. Вот мой код:
import flet as ft

def main(page: ft.Page):
def Next_Image(e):
print(page.controls)

# CONTROLS DESIGN
cont = ft.Container(bgcolor=ft.colors.AMBER,
border=ft.border.all(3, ft.colors.RED),
width=250,
height=600,
)

button_previous_img = ft.IconButton(icon=ft.icons.ARROW_CIRCLE_LEFT, tooltip='Previous Image')
button_next_img = ft.IconButton(icon=ft.icons.ARROW_CIRCLE_RIGHT, tooltip='Next Image', on_click=Next_Image)
text_num_img = ft.Text(value="DOC")

# ADD CONTROLS TO THE PAGE
page.add(
ft.Column(
[
cont,
ft.Row(
[
button_previous_img,
text_num_img,
button_next_img
],
alignment=ft.MainAxisAlignment.CENTER,
)
],
horizontal_alignment = ft.CrossAxisAlignment.CENTER,
)

)
page.update()

ft.app(target=main)

Я хотел бы получить все дерево дочерних элементов управления, добавленных на страницу при нажатии кнопки. Я могу отображать только самый крайний элемент управления, а именно столбец.
Более того, я хотел бы получить доступ к элементу управления, скажем, контейнеру «cont» внутри события кнопки «Next_Image()». Есть ли способ получить к нему доступ с помощью переменной имени или ее индекса в коллекции элементов управления? Например:
cont = page.controls["cont"] # with the variable name
cont = page.controls["4"] # with the variable index (assuming it's 4)


Подробнее здесь: https://stackoverflow.com/questions/791 ... -to-get-ac
Ответить

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

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

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

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

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