Vbox mit Scroll-Liste

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
plankton
User
Beiträge: 4
Registriert: Freitag 23. Februar 2007, 13:12

ich moechte in einem window eine vbox mit scroll-leiste einbinden und scheitere leider klaeglich vielleicht kann mir hier jemand helfen.

Code: Alles auswählen

def scrolled(widget, shadow=gtk.SHADOW_NONE):
    window = gtk.ScrolledWindow()
    window.set_shadow_type(shadow)
    window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
    window.add(widget)
    return window

class Main_Window(gtk.Window):
   def init_Slot(self,slot,left, right,top,bottom, channellist):
        box = gtk.VBox(False,1)
        box.set_spacing(0)
        channels = channellist.keys()
        channels.sort()
        for i in range(len(channels)):
            if (int(channels[i]) < slot+1000): 
                button = gtk.CheckButton(channellist[channels[i]][0])
                #button.connect("toggled", self.callback_channel, channels[i])
                if channellist[channels[i]][1]== 'channel_close':
                    button.set_active(True)
                button.show()
            box.pack_start(button, True, True, 0)
        return box

    def __init__(self,table_rows,table_columns, table_homogeneous, window_title,size,channellist):
        gtk.Window.__init__(self,gtk.WINDOW_TOPLEVEL)
        self.set_title(window_title)
        self.set_default_size(size[0], size[1]) 
        self.box = self.init_Slot(1000,0,1,0,1,channellist)
        self.scrolled = scrolled(self.box)
        self.add(self.box)
        self.connect("destroy", gtk.main_quit) 
        self.box.show()

window wird iniziert aber auch leider leer. nimmt man die zeile self.scrolled = scrolled(self.box) weg wird die box angezeigt aber leider ohne scroll-leiste. Wahlweise waere es auch ausreichend wenn das ganze fenster eine scroll-leiste haette habe ich aber auch nicht zum laufen bekommen.

fuer eventuelle hilfen im voraus schon mal danke
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

``self.add(self.scrolled)`` anstatt ``self.add(self.box)``, würde ich spontan raten.
Antworten