Domanda

Ho un paio di domande.

Ho un algoritmo che genererà un paio di foto in pitone che devono essere visualizzati in un modulo. Sto usando PyGt per questo. La mia domanda è: dove devo eseguire il mio codice? Fin dalla initializer? In tal caso, da quello che ho provato, il modulo non verrà mostrata.

  • Devo impostare un timer nella costruttore che inizia il mio algoritmo mezzo secondo più tardi?
  • Sarà in esecuzione l'algoritmo di congelare il mio formare rendendo impossibile vedere la quadro stesso? Non mi importa che il pulsanti, caselle di controllo, ecc congelare mentre si sta calcolando, fino a quando il immagine corrente è ancora visibile.
  • Dovrei usare qualcosa di simile a C # 's OnFormLoad ()? Se sì, come posso impostare vero? Attraverso connect ()?
  • Come funziona threading lavoro su Python? Ho sentito, ma io non sono troppo sicuro a questo proposito, che si trattava di un dolore da affrontare con. È? In C # è facile come scrittura di 4 linee. Mi piacerebbe usarlo se possibile, ma se si sta per essere difficile per la sua attuazione posso vivere senza di essa.

Grazie

È stato utile?

Soluzione

Si potrebbe voler controllare l'esempio Mandelbrot .

In sostanza l'idea è quella di utilizzare un thread di lavoro per fare i calcoli pesanti (io suggerirei un QThread per facilitare la comunicazione al thread principale utilizzando segnali / slot), poi una volta che il lavoro è fatto emettere un segnale con la calcolato dati e hanno il filo principale vernice esso. È inoltre possibile rendere l'immagine nel thread di lavoro, se volete.

Altri suggerimenti

È possibile eseguire l'algoritmo in un thread separato, mettendo i dati in una coda al termine. Il thread principale (GUI) periodicamente assaggiare la coda e visualizzare i dati quando arriva.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top