w00zy |
|
Темы:
20
Сообщения:
336
Участник с: 09 декабря 2008
|
Сижу, от делать нечего, перевожу свой скриптовый зоопарк на питона. И вот возник вопрос. Итак, гтк. Допустим есть форма, с одной кнопой. Нажимаю, скрипт допустим, считает мд5 у файлов. class vista: .............. ............. def test(self, *args): from hashlib import md5 print md5(open('/mnt/storage/pub/iso/пять_гигов_порнухи.iso', 'rb').read()).hexdigest() def windows(self): ............. ................. w['button_yes'].connect("clicked", self.test) Вот и вопрос - как вообще (ну может кроме потоков) вызывать объект, чтоб не “замораживало” работу самого интерфейса? то-есть как запустить обсчёт, и одновременно иметь возможность изменить состояние нескольким элементам (скрыть, деактивировать, написать хелло ворд)? |
avalanche |
|
Темы:
22
Сообщения:
68
Участник с: 02 марта 2009
|
В вашем случае нужный эффект даст только новый поток. Но если главный поток просто застрял в “долгом” цикле то Gui оживить можно так:while gtk.events_pending(): gtk.main_iteration(False) |
muu |
|
Темы:
8
Сообщения:
476
Участник с: 16 ноября 2008
|
Вот кто бы еще рассказал об этом решении разработчикам gajim… А то эти “замирания” интерфейса замучали. |
w00zy |
|
Темы:
20
Сообщения:
336
Участник с: 09 декабря 2008
|
Похоже сработает. Очень благодарен за подсказку. |