Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » wxPython. Задержка при использовании меню [RSS Feed]

#1 Июнь 8, 2010 21:50:24

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython. Задержка при использовании меню

wxPython, Ubuntu 9.10
Наблюдается такой эффект: если при в реакции на событие выбора пункта меню заложена задержка, то в течении этого времени выбранный пункт меню не исчезает.

Коряво объясняю (мало спал), поэтому добавлю код с примером:

import time
import wx

class MyFrame(wx.Frame):

def __init__(self):
wx.Frame.__init__(self, None, -1,
"Menu Example with StatusBar")
menu = wx.Menu()
simple = menu.Append(-1, "Simple menu item",
"This is some help text")
self.Bind(wx.EVT_MENU, self.OnSimple, simple)
menuBar = wx.MenuBar()
menuBar.Append(menu, "Menu")
self.SetMenuBar(menuBar)

def OnSimple(self, event):
time.sleep(5)
#wx.Sleep(5)


if __name__ == "__main__":
app = wx.PySimpleApp()
frame = MyFrame()
frame.Show()
app.MainLoop()
Выбираю пункт меню и он “висит” пять секунд. Хоть со стандартной задержкой, хоть с той, что их wx.

Пытался по всякому перерисовывать экран (Update, Refresh), но это не помогает. Подозреваю, что использование потоков поможет, но как-то жирно будет. Чувствуется, что должно быть решение проще.



Офлайн

#2 Июнь 8, 2010 23:07:30

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

wxPython. Задержка при использовании меню

wx.GetApp().Yield(True)



Офлайн

#3 Июнь 9, 2010 15:38:02

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython. Задержка при использовании меню

regall, спасибо. Работает (ох уж эти не очевидные системы с сообщениями….).



Офлайн

  • Начало
  • » GUI
  • » wxPython. Задержка при использовании меню[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version