iceeq
Март 30, 2009 16:36:53
привет. в общем есть форма. на ней нужно постепенно выводить элементы списка. например, выводятся они через цикл, который добавляет к листу итем, а затем итерация засыпает на 3 сек. но в этом случае отрисовка формы будет происходить после того, как цикл “поспит” необходимое время. можно сделать так, чтобы форма отрисовалась, а затем уже добавлять через каждые 3 сек к ней итемы?
hellslade
Март 30, 2009 18:02:18
а отдельный поток чем не подходит?
iceeq
Март 30, 2009 21:36:29
а пример можно? а то что-то не получается :(
hellslade
Март 31, 2009 05:10:32
Так показывайте код! Что не получается?
iceeq
Март 31, 2009 05:38:01
Ну я объяснил, можно и так в принципе понять. Ну вот код:
http://dumpz.org/7066/
hellslade
Март 31, 2009 06:14:33
Напишите отдельный метод у класса Window для добавления элементов и вызывайте его из потока
def WorkThread(frame, sleep_time, count):
for i in xrange(count):
frame.addItem('%s %s'%(i,'hello'))
time.sleep(sleep_time)
class Window(wx.Frame):
....
# Создаем поток и запускаем
def addItem(self, item):
self.listbox.Append(item)
читайте про модуль thread\threading