LINUX.ORG.RU

Gtk.ScrolledWindow не работает для Gtk.HBox?

 , ,


0

1

Вот сэмпл

self.scrolled = Gtk.ScrolledWindow()
        self.scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)

        for _ in vids:
            attrs = helpers.search.get_video_attrs(_)
            
            self.label_p = Gtk.Label(attrs['title'])
            self.listhbox = Gtk.HBox()
            self.vbox.pack_start(self.listhbox, False, False, 5)
            self.button_p = Gtk.Button()
            self.play_image = Gtk.Image.new_from_icon_name(
                "gtk-media-play",
                Gtk.IconSize.MENU
            )
            self.button_p.set_image(self.play_image)
            self.button_p.connect("clicked", self.on_click_me_clicked, attrs['id'])
            self.listhbox.pack_start(self.button_p, False, True, 2)
            self.listhbox.pack_start(Gtk.HSeparator(), False, False, 2)
            self.listhbox.pack_start(self.label_p, False, True, 2)

        self.scrolled.add(self.listhbox)

Элементов добавляется довольно много, но скролинг не появляется, что в данном случае может помочь? Перепробовал уйму вариантов

Внутрь scrolledwindow засунь viewport, а уже внутрь него - hbox. Или используй add_with_viewport.

У меня, кстати, оно так и пишет в консоль

GtkWarning: gtk_scrolled_window_add(): cannot add non scrollable widget use gtk_scrolled_window_add_with_viewport() instead

Кстати, в glade - тоже. http://i.imgur.com/x4Z0dwE.png

И у тебя в примере съехали отступы? Ты создаешь HBox в цикле, а добавить его один раз пытаешься?

pawnhearts ★★★★★
()
Последнее исправление: pawnhearts (всего исправлений: 2)
Ответ на: комментарий от pawnhearts

Приеду попробую как ты сказал. Ничего вроде не съехало, я просто для каждой строки делаю бокс в котором ещё боксы для кнопки и текста (плейлист). Так не правильно делать ?

noname_user ★★★
() автор топика
Ответ на: комментарий от noname_user

попробовал:

(yaudio.py:24471): Gtk-WARNING **: Attempting to add a widget with type GtkScrolledWindow to a __main__+ApplicationWindow, but as a GtkBin subclass a __main__+ApplicationWindow can only contain one widget at a time; it already contains a widget of type GtkVBox

noname_user ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.