2010-02-25 3 views
0

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') 

Répondre

0

Hélas, je ne suis pas sûr de la question spécifique. Cependant, lorsque vous avez un exemple qui illustre le problème mais qui est perplexe, j'ai toujours eu beaucoup de chance en envoyant un mail à la liste de diffusion wxpython-users et en joignant l'exemple. Vous devriez obtenir une réponse assez rapidement s'il y a quelque chose que vous pouvez faire pour le réparer, ou sinon, que vous devriez déposer un bogue dans le traqueur.

J'ai eu beaucoup de problèmes résolus de cette façon, et quand je dois déposer des bogues, ils sont généralement résolus assez rapidement. J'espère que cela t'aides!

+0

oui merci, obtenir tellement accro pour que j'oublié il y avait des groupes de diffusion aussi :) –