Hi
I am trying to have a effection that when the mouse enters the button it become red and set its label,and when the mouse leaves the button it become yellow and reset its label.But setting label can work ,setting color can’t run .It only become red when I click it .But I don’t Bind click event. why can it become red when the mouse enters it?
import wx
class MouseEventFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'Frame With Button',
size=(300, 100))
self.panel = wx.Panel(self)
self.button = wx.Button(self.panel, label="Not Over", pos=(100, 15))
self.button.Bind(wx.EVT_ENTER_WINDOW, self.OnEnterWindow)
self.button.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)
def OnEnterWindow(self, event):
self.button.SetBackgroundColour('red')
self.button.SetLabel("Over Me!")
event.Skip()
def OnLeaveWindow(self, event):
self.button.SetLabel("Not Over")
self.button.SetBackgroundColour('yellow')
event.Skip()
if __name__ == '__main__':
app = wx.App()
frame = MouseEventFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()