Dans une application wxPython que je porte sur Mac OSX, je règle le titre de l'application cadre toutes les 500 ms dans l'événement de mise à jour de l'interface utilisateur et, par conséquent, tous les panneaux et fenêtres sont actualisés. Cela me semble étrange et arrête presque mon application qui a beaucoup de contrôles et d'écrans personnalisés.Comportement étrange dû à wx.Frame.SetTitle
Je voulais savoir quelle pouvait être la raison derrière cela, est-ce normal pour MAC?
Voici un script auto-contraint qui réplique le scénario à l'aide de minuteurs. Il continue d'imprimer "sur la peinture" toutes les 500ms car dans le minuteur je règle le titre toutes les 500ms.
import wx
app = wx.PySimpleApp()
frame = wx.Frame(None, title="BasePainter Test")
painter = wx.Panel(frame)
def onPaint(event):
dc = wx.PaintDC(painter)
print "onPaint"
painter.Bind(wx.EVT_PAINT, onPaint)
def loop():
frame.SetTitle(frame.GetTitle())
wx.CallLater(500, loop)
loop()
frame.Show(True)
app.SetTopWindow(frame)
app.MainLoop()
Mes coordonnées du système:
>>> sys.version
'2.5 (r25:51918, Sep 19 2006, 08:49:13) \n[GCC 4.0.1 (Apple Computer, Inc. build 5341)]'
>>> wx.VERSION
(2, 8, 10, 1, '')
>>> os.uname()
('Darwin', 'agyeys-mac-mini.local', '9.8.0', 'Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386', 'i386')
oui merci, obtenir tellement accro pour que j'oublié il y avait des groupes de diffusion aussi :) –