Domanda

Sono nuovo di programmazione GUI con Python e GTK, quindi questo è un po 'di una domanda principianti. Ho una funzione che viene chiamata quando viene premuto un pulsante che fa vari compiti, e un widget TextView cui scrivo al termine di ogni attività è stata completata. Il problema è che il widget TextView non aggiorna finché l'intera funzione è terminata. Ho bisogno di aggiornare dopo ogni operazione.

È stato utile?

Soluzione

Dopo ogni aggiornamento alla chiamata TextView

while gtk.events_pending():
  gtk.main_iteration()

Si può fare l'aggiornamento attraverso una funzione personalizzata:

def my_insert(self, widget, report, text):

  report.insert_at_cursor(text)
  while gtk.events_pending():
    gtk.main_iteration()

Dalla FAQ PyGTK: Come posso forzare gli aggiornamenti alle finestre delle applicazioni durante un lungo callback o altra operazione interno?

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