J'ai un problème avec treeview liststore essayant d'obtenir une mise à jour en temps réel, et j'ai créé un exemple pour simuler ce que je voudrais faire. Je veux liststore1 mis à jour chaque boucle.python - gtk treeview - liststore avec mise à jour en temps réel
http://img204.imageshack.us/i/capturadetela5.png/
il doit mettre à jour la colonne treeview « vitesse » et de lui donner un numéro différent à chaque seconde, quelque chose comme un gestionnaire de téléchargement.
import gtk
import gtk.glade
import random
builder = gtk.Builder()
builder.add_from_file('ttt.glade')
window = builder.get_object('window1')
treeview = builder.get_object('treeview1')
store = builder.get_object('liststore1')
column_n = ['File','Size','Speed']
rendererText = gtk.CellRendererText()
for i in range(10):
foo = random.randint(100,256)
list_ = [('arquivo1.tar.gz', '10MB', '%s k/s' % foo)]
for x,y in zip(column_n,range(3)):
column = gtk.TreeViewColumn(x, rendererText, text=y)
column.set_sort_column_id(0)
treeview.append_column(column)
for list_index in list_:
store.append([list_index[0],list_index[1],list_index[2]])
window.show_all()
Quand je suis tombé sur la fonction timeout_add dans la programmation PyGTK j'étais un campeur heureux. –
N'oubliez pas de retourner 'False' pour le faire arrêter (bien que ne pas retourner du tout devrait fonctionner, car cela implique' None'). La fonction 'idle_add' est aussi vraiment utile :) – detly