themesforum.py 文件源码

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

项目:HeaTDV4A 作者: HeaTTheatR 项目源码 文件源码
def __init__(self, **kvargs):
        super(ThemesForum, self).__init__(**kvargs)
        self.size_hint = (1, 1)

        box_scroll = ScrollView()
        box_scroll_and_paginator = BoxLayout(orientation="vertical", spacing=5)
        box_for_paginator = BoxLayout(size_hint_y=None, height=40)
        layout = GridLayout(cols=1, spacing=17, size_hint=(1, None))
        layout.bind(minimum_height=layout.setter('height'))
        layout.add_widget(Widget(size_hint=(1, .5)))
        layout.add_widget(Label(text=self.title, font_size=self.font_size + 4,
                                markup=True))
        layout.add_widget(Widget(size_hint=(1, .5)))
        layout.add_widget(SettingSpacer())

        # ????????? ???????.
        if self.flag != "forumcat":
            number_page = Label(text=self.number_page, markup=True)
            number_page.bind(on_ref_press=self.refs_callback)
            box_for_paginator.add_widget(number_page)

        for data in self.data:
            for key in ["theme", "total_topics", "last_theme", "sep",
                        "last_answer"]:
                try:
                    if data[key] == "":
                        continue
                except KeyError:
                    pass

                font_size = self.font_size + 4 if key == "theme" \
                    else self.font_size

                if key == "sep":
                    layout.add_widget(Widget(size_hint=(1, .5)))
                else:
                    name_item = data[key]
                    info = Label(text=name_item, font_size=font_size,
                                 id=name_item, markup=True)
                    info.bind(
                        size=lambda *args: self._update_window_size(args),
                        on_ref_press=self.refs_callback)
                    layout.add_widget(info)

                    if key == "theme":
                        layout.add_widget(SettingSpacer())
            layout.add_widget(SettingSpacer())

        box_scroll.add_widget(layout)
        box_scroll_and_paginator.add_widget(box_scroll)

        if self.flag != "forumcat":
            box_scroll_and_paginator.add_widget(box_for_paginator)

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


问题


面经


文章

微信
公众号

扫码关注公众号