actualizar un gtk.VBox dinámicamente

He estado usando este sitio web con bastante frecuencia para resolver pequeños problemas que tengo al programar en Python. Esta vez, de alguna manera no pude encontrar una solución adecuada para mi situación. Pues aqui esta mi problema:

Quiero agregar dinámicamente entradas a un widget gtk.VBox. El problema es que no funciona como yo quiero que funcione. Simplemente tengo un botón, cuya acción es agregar un widget adicional a un VBox. Lamentablemente, el widget no aparece en la ventana. Supongo que tengo que agregar algo como una llamada de función de repintado, pero no encontré nada de eso. Aquí hay un código de muestra que muestra mi problema:

import gtk

class DynamicVbox:

    def __init__(self):
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.connect("destroy", self.close_application)
        self.window.set_size_request(400,320)
        #a hBox to put the button and the dynamic vBox
        hBox = gtk.HBox(False, 0)

        addButton = gtk.Button("add checkbox")
        addButton.connect("clicked", self.AddCheckButton)

        self.vBox = gtk.VBox(False, 0)
        self.vBox.pack_start(gtk.CheckButton("CheckButton"), True, True, 1)
        hBox.pack_start(self.vBox, True, True, 5)
        hBox.pack_end(addButton, False, False, 5)
        self.window.add(hBox)

        #start gtk
        self.window.show_all()
        gtk.main()

    def AddCheckButton(self, button):
        self.vBox.pack_start(gtk.CheckButton("CheckButton"), True, True, 1)
        print "adding checkbox..."

    def close_application(self, widget):
        gtk.main_quit()

 # run it

a = DynamicVbox()

A agradecer cualquier ayuda. Gracias por adelantado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta