Salut Yannick, Disons que chez moi, j'avais d'abord eu un autre message d'erreur indiquant que MainFrame n'était pas connu dans ContextMenu, message qui a disparu lorsque j'ai inversé l'ordre des fonctions, également un peu sceptique a priori mais... Par contre, je me demande si ton pb ne vient pas de la ligne Bind, mais je n'ai pas de doc sous la main et mon wx n'est pas complètement bien installé ici, donc je n'ai pas la doc intégrée.
J.-F. J.-F. Le 07/03/2012 10:13, yannick a écrit : > > salut JF, étant donné que l'on est dans un script, il me semble que l'ordre > de déclaration de classe& fonction ne rentre pas en compte, mais peut être > que je me trompes . cependant, en faisant le test j'ai toujours le msg > d'erreur : > TypeError: unbound method onContextMenu() must be called with ContextMenu > instance as first argument (got ContextMenuEvent instance instead) > > ----- Original Message ----- > From: "Jean-François Colas"<[email protected]> > To:<[email protected]> > Sent: Wednesday, March 07, 2012 10:12 AM > Subject: [progliste] Re: python&syntaxe > > >> Salut, >> >> Un essai très rapide m'a conduit à mettre MainFrame avant ContextMenu >> dans le fichier source. Après, je ne sais ce qu'on est censé obtenir au >> juste, je vois juste crit essai, doit-il y avoir quelque chose d'autre >> qui se passe? >> >> Par contre parfois le traceback peut aider, ne serait-ce que pour qu'on >> soit sûr que si on rencontre un pb, c'est bien le même que celui que tu >> rencontres. >> >> A+ >> J.-F. >> >> >> 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é. 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é.
