ok Paul, merci ça marche, en fait, j'étais en train de chercher à tâton, il n'y avait donc pas de logique . ----- Original Message ----- From: "paulber007" <[email protected]> To: <[email protected]> Sent: Wednesday, March 07, 2012 1:40 PM Subject: [progliste] Re: python &syntaxe
> Bonjour à tous, > Dans ton code, il y a deux choses qui me choquent: > - je ne comprend pas pourquoi tu dérives la class ContextMenu de la > class MainFrame, > - et il n'y a pas d'instance de la class ContextMenu. > Comme l'évenement EVT_Context_Menu est attaché à la MainFrame, il est > préférable que la fonction qui le traite soit une méthode de la mainFrame. > > Personnellement, j'écrirai le code suivant: > > import wx > class ContextMenu (wx.Frame): > def ShowMenu (self): > menu =wx.Menu () > menu.Append (1,"bonjour") > self.PopupMenu (menu) > > class MainFrame (wx.Frame): > def __init__ (self): > wx.Frame.__init__ (self,None,-1,title ="essai") > self.Bind (wx.EVT_CONTEXT_MENU,self.onContextMenu) > > def onContextMenu(self,evt): > ContextMenu(self).ShowMenu() > > class MainApp (wx.App): > def OnInit (self): > fen =MainFrame () > fen.Show (True) > return True > > app =MainApp () > app.MainLoop () > > Amitiés. > Paul. > > Le 07/03/2012 09:46, yannick a écrit : >> >> bonjour, dans mon exemple, je cré 3 classes, une pour la frame, une pour >> l'application, et j'aimerais créé une autre qui doit gérer les menu >> contextuels, >> si je fais tout dans la classe pour la Frame aucun pb, mais j'aimerais >> bien en faire une pour les menus . >> mais je n'y arrive pas !une idée ? >> voici le code source : >> import wx >> class ContextMenu (MainFrame): >> def onContextMenu (self,evt): >> menu =wx.Menu () >> menu.Append (1,"bonjour") >> self.PopupMenu (menu) >> >> class MainFrame (wx.Frame): >> def __init__ (self): >> wx.Frame.__init__ (self,None,-1,title ="essai") >> self.Bind (wx.EVT_CONTEXT_MENU,ContextMenu.onContextMenu) >> >> class MainApp (wx.App): >> def OnInit (self): >> fen =MainFrame () >> fen.Show (True) >> return True >> >> app =MainApp () >> app.MainLoop () >> >> >> Progliste : >> Pour se désinscrire de la liste : >> mailto:[email protected]?subject=unsubscribe >> >> Pour voir les archives de la liste : >> http://www.mail-archive.com/[email protected]/ >> >> Pour accéder aux fichiers de la liste >> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr >> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, >> je vous répondrez en privé. >> > > Progliste : > Pour se désinscrire de la liste : > mailto:[email protected]?subject=unsubscribe > > Pour voir les archives de la liste : > http://www.mail-archive.com/[email protected]/ > > Pour accéder aux fichiers de la liste > http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr > Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, > je vous répondrez en privé. Progliste : Pour se désinscrire de la liste : mailto:[email protected]?subject=unsubscribe Pour voir les archives de la liste : http://www.mail-archive.com/[email protected]/ Pour accéder aux fichiers de la liste http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je vous répondrez en privé.
