Wx menubar exception type error
Résolu
electroking
Messages postés
236
Date d'inscription
Statut
Membre
Dernière intervention
-
electroking Messages postés 236 Date d'inscription Statut Membre Dernière intervention -
electroking Messages postés 236 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je développe actuellement une IHM comprenant un menu. Comme je le souhaitais personnalisé, j'ai créé une nouvelle classe héritée de wx.MenuBar :
Mais à l'exécution de mon programme, celui-ci lève un exception.
Je travaille avec Python 2.7, si quelqu'un a une solution, je le remercie d'avance.
je développe actuellement une IHM comprenant un menu. Comme je le souhaitais personnalisé, j'ai créé une nouvelle classe héritée de wx.MenuBar :
import wx class MyMenu(wx.MenuBar): def __init__(self, parent): super(wx.MenuBar, self).__init__(parent) self.p = parent # FILE MENU \ fileMenu = wx.Menu() self.Append(fileMenu, 'File') # FILE MENU / def newGC(self, event): self.p.display('GC') def newNull(self, event): self.p.display('NULL') def quit(self, event): self.p.close(0)
Mais à l'exécution de mon programme, celui-ci lève un exception.
Traceback (most recent call last):
File "C:/Users/Lucas/Desktop/Test_room_IMH_4/test/__init__.py", line 72, in <module>
Mywin(None,"Analysis")
File "C:/Users/Lucas/Desktop/Test_room_IMH_4/test/__init__.py", line 18, in __init__
self.SetMenuBar(c_menu.ControllerMenu(self))
File "C:\Users\Lucas\Desktop\Test_room_IMH_4\test\controller\Menu.py", line 16, in __init__
self.Append(fileMenu, 'File')
File "C:\Users\Lucas\AppData\Local\VLAB Works\vlab-2.4.2-vc100-x64\lib\site-packages\wx-3.0-msw\wx\_core.py", line 12270, in Append
return _core_.MenuBar_Append(*args, **kwargs)
TypeError: in method 'MenuBar_Append', expected argument 1 of type 'wxMenuBar *'
Je travaille avec Python 2.7, si quelqu'un a une solution, je le remercie d'avance.
A voir également:
- Wx menubar exception type error
- Clear type - Guide
- Fan error lenovo - Forum Refroidissement
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Type de ram - Guide
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
1 réponse
Bonjour.
Il n'y a pas lieu de passer le parent à cette classe, puisque ce n'est pas un argument valide, le seul argument valable est le style.
https://docs.wxpython.org/wx.MenuBar.html#wx.MenuBar.__init__
Donc supprime cet argument, et pour relier ton MenuBar à ton parent, il faut utiliser la méthode SetMenuBar de ta Frame contenant ce widget.
https://docs.wxpython.org/wx.Frame.html#wx.Frame.SetMenuBar
super(wx.MenuBar, self).__init__(parent)
Il n'y a pas lieu de passer le parent à cette classe, puisque ce n'est pas un argument valide, le seul argument valable est le style.
https://docs.wxpython.org/wx.MenuBar.html#wx.MenuBar.__init__
Donc supprime cet argument, et pour relier ton MenuBar à ton parent, il faut utiliser la méthode SetMenuBar de ta Frame contenant ce widget.
https://docs.wxpython.org/wx.Frame.html#wx.Frame.SetMenuBar
Dans super(), c'est le nom de ta propre classe qui doit être définie dedans, et non la ou les classes dont tu dérives.
Qui fait la même chose que :
Tout mache correctement merci beaucoup.