Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 24, 2012 19:18:17

anwinged
Зарегистрирован: 2012-04-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Dialog.ShowModal и GuiMutex

Возникла проблема при работе с этими двумя сущностями.
Суть: есть форма, внутри нее крутится поток-демон, который собирает некоторые данные и потом на основе собранного обновляет форму. Схематично это выглядит так:

class MainFrame(wx.Frame):
    def __init__(self):
        # ...
        thread = threading.Thread(target = self.MyFunction)
        thread.daemon = True
        thread.start()
        # ...
    def MyFunction(self):
        while True:
            wx.MutexGuiEnter()
            try:
                # собираем данные
                # обновляем форму
            finally:
                wx.MutexGuiLeave()
            # спим четверть секунды
Когда я пытаюсь открыть диалог как модальное окно, он прекрасно открывается, но при закрытии все наметво виснет, а память начинает улетать в трубу очень быстро.
Без использования GuiMutex все работает, но его выбросить никак нельзя. Диалог тоже должен быть модальным, это очень желательно. Может кто-то подскажет как их можно подружить?

Отредактировано anwinged (Апрель 24, 2012 19:19:51)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version