book_element.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:cozy 作者: geigi 项目源码 文件源码
def __create_popover(self):
        self.popover = Gtk.Popover.new(self)
        self.popover.set_position(Gtk.PositionType.BOTTOM)

        # We need to scroll when there are many tracks in a Book
        scroller = Gtk.ScrolledWindow()
        scroller.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)

        # This box contains all content
        self.track_box = Gtk.Box()
        self.track_box.set_orientation(Gtk.Orientation.VERTICAL)
        self.track_box.set_halign(Gtk.Align.CENTER)
        self.track_box.set_valign(Gtk.Align.START)
        self.track_box.props.margin = 8

        count = 0
        for track in tracks(self.book):
            self.track_box.add(TrackElement(track, self.ui))
            count += 1

        if Gtk.get_minor_version() > 20:
            scroller.set_propagate_natural_height(True)
            scroller.set_max_content_height(500)
        else:
            padding = 17
            height = 24
            scroller_height = count * height + padding
            if scroller_height > 500:
                scroller_height = 500
            scroller.set_size_request(-1, scroller_height)

        self.popover.connect("closed", self.__on_popover_close)

        self.popover.add(scroller)
        scroller.add_with_viewport(self.track_box)
        scroller.show_all()

        self._mark_current_track()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号