Frage

Ich benutze Pygtk und die gtk.Assistant. Auf einer Seite habe ich eine Baumansicht (eine Spalte, nur Zeichenfolgen) in a platziert gtk.ScrolledWindow (Ich wollte die vertikale Bildlaufleiste, da die Liste etwa 35 Elemente enthält). Alles funktioniert gut; Das einzige, was mich nervt, ist, dass ich nicht aus der Dokumentation herausfinden konnte, wie die Größe des scrollierten Fensters festgelegt werden kann. Derzeit werden jeweils nur drei Elemente angezeigt. Ich möchte diese Nummer auf 10 oder so einstellen.

Unten ist der Code. Wie Sie sehen, habe ich versucht, eine zu verwenden gtk.Adjustment Um die Größe des gescrollten Fensters zu beeinflussen, aber als - noch einmal - habe ich inkompetent darin, die erforderlichen Informationen aus der Dokumentation abzurufen, weiß ich nicht, welche Werte dort eingerichtet werden sollten.

    self.page7 = gtk.VBox()

    # The gtk.Adjustment:
    page_size    = gtk.Adjustment(lower=10, page_size=100) # just used some arbitrary numbers here >_<
    scrolled_win = gtk.ScrolledWindow(page_size)
    scrolled_win.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) # only display scroll bars when required

    self.character_traits_treeview  = gtk.TreeView()
    self.character_traits_treestore = gtk.TreeStore(str)
    self.character_traits_treeview.set_model(self.character_traits_treestore)

    tc = gtk.TreeViewColumn("Character traits")
    self.character_traits_treeview.append_column(tc)
    cr = gtk.CellRendererText()
    tc.pack_start(cr, True)
    tc.add_attribute(cr, "text", 0)

    self.character_trait_selection = self.character_traits_treeview.get_selection()
    self.character_trait_selection.connect('changed', self.check_number_of_character_trait_selections)
    self.character_trait_selection.set_mode(gtk.SELECTION_MULTIPLE)

    self.make_character_traits_treestore()

    # adding the treeview to the scrolled window:
    scrolled_win.add(self.character_traits_treeview)
    self.page7.pack_start(scrolled_win, False, False, 0)

    self.assistant.append_page(self.page7)
    self.assistant.set_page_title(self.page7, "Step 7: Select 2-3 character traits")
    self.assistant.set_page_type(self.page7, gtk.ASSISTANT_PAGE_CONTENT)
    self.assistant.set_page_complete(self.page7, False)

def check_number_of_character_trait_selections(self, blah):
    # ...

def make_character_traits_treestore(self):
    # ...

Ich weiß, ich sollte RTFM, aber da ich keinen Kopf oder Schwanz daraus machen kann, und als weiteres Suchen, hoffe ich nur, dass mir jemand hier einen Hinweis geben kann.

Vielen Dank im Voraus!

PS: Hier sind die Links zu:

War es hilfreich?

Lösung

Ich war sehr, sehr dumm, es war nur ein Packungsproblem> _

Diese Linie

self.page7.pack_start(scrolled_win, False, False, 0)

sollte lesen

self.page7.pack_start(scrolled_win, True, True, 0)

stattdessen!

Jetzt sieht alles so aus, wie ich möchte, dass es aussieht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top