PyGTK: Problèmes avec la taille de ScrolledWindow
-
14-10-2019 - |
Question
J'utilise PyGTK et le gtk.Assistant
. Sur une page, je l'ai placé une vue arborescente (une colonne, à cordes) dans un gtk.ScrolledWindow
(je voulais la barre de défilement vertical, puisque la liste contient environ 35 articles). Tout fonctionne très bien; la seule chose qui me dérange est que je ne l'ai pas été en mesure de trouver de la documentation comment définir la taille de la fenêtre à défilement. Actuellement, seuls trois éléments sont affichés à la fois; Je voudrais mettre ce nombre à 10 ou plus.
Voici le code. Comme vous pouvez le voir, je l'ai essayé d'utiliser un gtk.Adjustment
pour influencer la taille de la fenêtre à défilement, mais - une fois de plus - je suis incompétent à récupérer les informations requises dans la documentation, je ne sais pas vraiment ce que les valeurs doivent être mises en 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):
# ...
Je sais que je devrais RTFM, mais comme je ne peux pas faire ni queue ni tête, et que des recherches plus poussées, aussi, a été sans succès, je suis juste en espérant que quelqu'un ici peut me donner un indice.
Merci beaucoup à l'avance!
PS: Voici les liens vers:
La solution
J'ai été très, très stupide, il était simplement un problème d'emballage> _ <
Cette ligne
self.page7.pack_start(scrolled_win, False, False, 0)
devrait lire
self.page7.pack_start(scrolled_win, True, True, 0)
au lieu!
Maintenant, tout est à la recherche de la façon dont je veux regarder.