Bonjour ,
Je n'arrive pas trop à comprendre ce qu'il faut mettre à gauche de: .Bind(wx.EVT_***, UneFonction, unwidget)
C'est la notion de handler (pas facile à traduire d'ailleurs) dans le livre de
Rappin.
C'est ce code là qui m'a interpellé:
Je comprends que dans self.Bind(...) on applique la méthode à une
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import wx class DoubleEventFrame(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id, 'Frame With Button', size=(300, 100)) self.panel = wx.Panel(self, -1) self.button = wx.Button(self.panel, -1, "Click Me", pos=(100, 15)) self.Bind(wx.EVT_BUTTON, self.OnButtonClick, self.button) self.button.Bind(wx.EVT_LEFT_DOWN, self.OnMouseDown) def OnButtonClick(self, event): self.panel.SetBackgroundColour('Green') self.panel.Refresh() def OnMouseDown(self, event): self.button.SetLabel("Again!") event.Skip() if __name__ == '__main__': app = wx.PySimpleApp() frame = DoubleEventFrame(parent=None, id=-1) frame.Show() app.MainLoop()
instance de DoubleEventFrame (notre fenetre principale).
Dans self.button.Bind(...) c'est à self.button une instance de wx.Button (notre bouton) qu'on applique la méthode Bind.
Comment choisir quelle est le bon objet sur lequel il faut appliquer la méthode
Bind? Je crois que c'est la bonne question?
Merci
Partager