FAQ Index - Search - Recent Changes - Everything - Add entry

<< Previous Entry | FAQ Entry 5.12 | Next Entry >>

5.12. How do I check if a widget is mapped? And realized? And visible? [...]

All gtkWidget's have a number of flags that indicate their state. PyGTK offers a method that can be used together with a number of gtk symbols to retrieve this state from the widget.

In PyGTK the method is called flags(), and it doesn't take arguments, so you must perform the binary AND yourself:

 # To check if `widget' is mapped:
 if widget.flags() & gtk.MAPPED:
    print "MAPPED!"
There are a number of flags you can test for. The following are defined in the gtk namespace:

 # gtk.Object
 DESTROYED
 FLOATING
 CONNECTED
 CONSTRUCTED

 # gtk.Widget
 TOPLEVEL
 NO_WINDOW
 REALIZED
 MAPPED
 VISIBLE
 SENSITIVE
 PARENT_SENSITIVE
 CAN_FOCUS
 HAS_FOCUS
 CAN_DEFAULT
 HAS_DEFAULT
 HAS_GRAB
 RC_STYLE
 COMPOSITE_CHILD
 BASIC
 APP_PAINTABLE
 RECEIVES_DEFAULT

PyGTK FAQ Wizard | PyGTK Homepage | Feedback to faq at pygtk.org