def hide(self):
if self.is_visible:<EOL><INDENT>self._ungrab_mouse()<EOL>self._undraw_all()<EOL><DEDENT>self.__is_hidden = True<EOL>self._hide_children()<EOL>
Make the widget invisible.

This will undraw the widget and prevent it from being redrawn until 
`unhide()` is called.  During that time, the widget will not be 
visible, but it will still take up space in the GUI layout.  If that's 
not what you want, you should remove the widget from it container 
rather than simply hiding it.  It's safe to hide a widget that's 
already hidden.