Status Bar
#!/usr/bin/env python
#
# [SNIPPET_NAME: Status Bar]
# [SNIPPET_CATEGORIES: PyGTK]
# [SNIPPET_DESCRIPTION: Adding and using a status bar]
# [SNIPPET_DOCS: http://www.pygtk.org/pygtk2tutorial/sec-Statusbars.html, http://www.pygtk.org/docs/pygtk/class-gtkstatusbar.html]
# example statusbar.py
import pygtk
pygtk.require('2.0')
import gtk
class StatusbarExample:
def push_item(self, widget, data):
buff = " Item %d" % self.count
self.count = self.count + 1
self.status_bar.push(data, buff)
return
def pop_item(self, widget, data):
self.status_bar.pop(data)
return
def __init__(self):
self.count = 1
# create a new window
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_size_request(200, 100)
window.set_title("PyGTK Statusbar Example")
window.connect("delete_event", lambda w,e: gtk.main_quit())
vbox = gtk.VBox(False, 1)
window.add(vbox)
vbox.show()
self.status_bar = gtk.Statusbar()
vbox.pack_start(self.status_bar, True, True, 0)
self.status_bar.show()
context_id = self.status_bar.get_context_id("Statusbar example")
button = gtk.Button("push item")
button.connect("clicked", self.push_item, context_id)
vbox.pack_start(button, True, True, 2)
button.show()
button = gtk.Button("pop last item")
button.connect("clicked", self.pop_item, context_id)
vbox.pack_start(button, True, True, 2)
button.show()
# always display the window as the last step so it all splashes on
# the screen at once.
window.show()
def main():
gtk.main()
return 0
if __name__ == "__main__":
StatusbarExample()
main()