import wx

class Frame(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, -1, 'TipWindow Test', size=(100,100))

        p = wx.Panel(self, -1)
        r = wx.Panel(p, -1, (10,10),(20,20))
        r.SetBackgroundColour(wx.RED)
        r.Bind(wx.EVT_ENTER_WINDOW, self.OnEnter)

    def OnEnter(self, ev):
        r = ev.GetEventObject()
        x,y  = r.ClientToScreenXY(*r.GetRect()[:2])
        rect = wx.Rect(x,y, 20,20)
        tip  = wx.TipWindow(self, 'Rect: %s' % rect)
        tip.SetBoundingRect(rect)
        tip.Show()        
        ev.Skip()


class App(wx.App):

    def OnInit(self):
        self.f = Frame()
        self.f.Show()
        return True

app = App()
app.MainLoop()

        
