Значок обновления флета в асинхронном режимеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Значок обновления флета в асинхронном режиме

Сообщение Anonymous »

У меня проблема с обновлением значка флета, self.value обновляется идеально, но почему значок не меняется в начале класса, он добавляет значок ft.icons.SIGNAL_WIFI_STATUSBAR_NULL_OUTLINED, но в асинхронном режиме это не так обновление в интерфейсе

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

import asyncio
import flet as ft
import requests
import time

class Countdown(ft.Text):
def __init__(self):
super().__init__()
self.running = False
self.value = "Connecting..."
self.icon = ft.Icon(ft.icons.SIGNAL_WIFI_STATUSBAR_NULL_OUTLINED)

def did_mount(self):
self.running = True
self.update()
self.page.run_task(self.update_timer)

def will_unmount(self):
self.running = False

async def update_timer(self):
while self.running:
try:
requests.get("http://www.google.com", timeout=3)
self.value = "Connected"
self.icon = ft.Icon(ft.icons.WIFI)
self.chiconke()
self.update()
print(self.icon)
except requests.ConnectionError:
self.value = "Disconnected"
self.icon = ft.icons.WIFI
self.update()
await asyncio.sleep(5)

def create_statusbar():
countdown = Countdown()

return ft.Container(
content=ft.Row(
[
ft.CupertinoListTile(
bgcolor_activated=ft.colors.AMBER_ACCENT,
leading=countdown.icon,
title=countdown,
width=180,
),

ft.CupertinoListTile(  # Example: API status
bgcolor_activated=ft.colors.AMBER_ACCENT,
leading=ft.Icon(name=ft.icons.API),
title=ft.Text(countdown.icon),
subtitle=ft.Text("Checking..."),  # Placeholder for dynamic update
width=150,
),

ft.CupertinoListTile(  # Example: API status
bgcolor_activated=ft.colors.AMBER_ACCENT,
leading=ft.Icon(name=ft.icons.API),
title=ft.Text("API Status"),
subtitle=ft.Text("Checking..."),  # Placeholder for dynamic update
width=150,
),

ft.CupertinoListTile(  # Example: API status
bgcolor_activated=ft.colors.AMBER_ACCENT,
leading=ft.Icon(name=ft.icons.API),
title=ft.Text("API Status"),
subtitle=ft.Text("Checking..."),  # Placeholder for dynamic update
width=150,
),
],
),
border=ft.border.all(1, ft.colors.GREY_700),
border_radius=ft.border_radius.all(10),
)
Я перепробовал все, асинхронно обновляется текст, но не значок.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как распечатать значения текстового поля Флета, добавленные на страницу с помощью цикла for?
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Окно флета просто останавливается
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Окно флета просто останавливается
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Проблема с компоновкой флета
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Проблема с компоновкой флета
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

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