25/03/2024 - migliorabile ha scritto:
Diciamo che i problemi sono molti:
- un'interfaccia utente NON DEVE contenere della logica applicativa ma SOLO la logica relativa all'interfaccia utente!
- il modello classico per implementare un'interfaccia utente si chiama Model View Controller. Devi STUDIARLO per capire come implementarlo.
Sembra una stupidaggine MA se segui la logica MVC, l'implementazione risultera' “logica” ;-) con meno pasticci e meno problemi - python ha molti meccanismi per gestire la ricezione di messagi su rete in modo “asincrono”.
.
Ad esempio:
https://docs.python.org/3/library/asyncio.html
https://docs.python.org/3/library/asyncio-task.html
.
Quindi gli approcci sono molti.
Il tuo e' “moolto basico”. Si usa quando non vengono richeste particolari performance :
NON PUOI metterti a fare query ogni 10 millisecondi!!!!
MA se fai il test una volta ogni 30/60 secondi, va piu' che bene.
.
Grazie Migliorabile per il suggerimento , ma andando a vedere il tuo suggerimento “ottimale” mi sembra troppo impegnativo per le mie competenze.
Quindi io vorrei qualche suggerimento per far in modo che partendo dalla root.mainloop mi permette di avviare una routine ogni 40/60 secondi che mi verifica i nuovi messaggi nel db; i tempi potrebbero anche arrivare ai 80/90 secondi , non cambierebbe molto.
Io intatno approfondisco Asyncio…..
Grazie