Pregunta

Estoy utilizando PyGTK y la gtk.Assistant. En una página que he colocado una vista de árbol (una columna, las cadenas sólo) en un gtk.ScrolledWindow (quería la barra de desplazamiento vertical, ya que la lista contiene alrededor de 35 artículos). Todo está funcionando bien; lo único que me molesta es que no he sido capaz de averiguar a partir de la documentación de cómo configurar el tamaño de la ventana de desplazamiento. Actualmente sólo tres elementos se muestran a la vez; Me gustaría establecer este número a 10 o así.

A continuación se muestra el código. Como se puede ver He intentado usar un gtk.Adjustment para influir en el tamaño de la ventana de desplazamiento, pero a medida que - una vez más - He sido incompetente en la recuperación de la información necesaria de la documentación, que en realidad no sé qué valores se deben poner en allí.

    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):
    # ...

Sé que debería RTFM, pero como no puedo hacer la cabeza o la cola de la misma, y ??como aún más la búsqueda, también, ha sido en vano, sólo estoy esperando que alguien de aquí me puede dar una pista.

Muchas gracias de antemano!

PS: Aquí están los enlaces a:

  • el href="http://www.pygtk.org/docs/pygtk/class-gtkscrolledwindow.html" rel="nofollow"> documentación gtk.ScrolledWindow
  • gtk.Adjustment
¿Fue útil?

Solución

He sido muy, muy estúpida, no era más que una cuestión de embalaje> _ <

Esta línea

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

debería leer

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

en vez!

Ahora todo está buscando la manera que quiero que se vea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top