Найти - Пользователи
Полная версия: wxPython. Задержка при использовании меню
Начало » GUI » wxPython. Задержка при использовании меню
1
Kogrom
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), но это не помогает. Подозреваю, что использование потоков поможет, но как-то жирно будет. Чувствуется, что должно быть решение проще.
regall
wx.GetApp().Yield(True)
Kogrom
regall, спасибо. Работает (ох уж эти не очевидные системы с сообщениями….).
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB