PyGTK: Problemi con dimensioni di ScrolledWindow
-
14-10-2019 - |
Domanda
Sto usando PyGTK e il gtk.Assistant
. Su una pagina che ho messo una vista ad albero (una colonna, a soli archi) in un gtk.ScrolledWindow
(volevo la barra di scorrimento verticale, dal momento che la lista contiene circa 35 elementi). Tutto sta funzionando benissimo; l'unica cosa che mi bug è che non sono stato in grado di capire dalla documentazione come impostare le dimensioni della finestra a scorrimento. Attualmente solo tre elementi vengono visualizzati in un momento; Vorrei impostare questo numero a 10 o giù di lì.
Di seguito è riportato il codice. Come si può vedere Ho provato con un gtk.Adjustment
per influenzare le dimensioni della finestra a scorrimento, ma come - ancora una volta - sono stato incompetente a recuperare le informazioni richieste dalla documentazione, io in realtà non so quali valori dovrebbero essere messi in là.
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):
# ...
So che dovrei RTFM, ma come non posso fare capo né coda di esso, e come ulteriormente la ricerca, troppo, è stato senza alcun risultato, sto solo sperando che qualcuno qui può darmi un suggerimento.
Grazie mille in anticipo!
PS: Qui ci sono i link a:
Soluzione
Sono stato molto, molto stupido, era solo una questione di imballaggio> _ <
Questa linea
self.page7.pack_start(scrolled_win, False, False, 0)
dovrebbe leggere
self.page7.pack_start(scrolled_win, True, True, 0)
, invece!
Ora tutto sta cercando il modo in cui voglio farlo sembrare.