python kivy 控件介绍--- Accordion 折叠控件

Accordion控件,我姑且称之为折叠控件,因为有道翻译出来后是 可折叠的 管风琴。

python kivy 控件介绍--- Accordion 折叠控件_第1张图片

 动画效果如上图所示。

我们先看一下源代码:

from kivy.uix.accordion import Accordion, AccordionItem
from kivy.uix.label import Label
from kivy.app import App


class AccordionApp(App):
    def build(self):
        root = Accordion(orientation='vertical')
        for x in range(5):
            item = AccordionItem(title='Title %d' % x)
            item.add_widget(Label(text='Very big content\n' * 10))
            root.add_widget(item)
        return root


if __name__ == '__main__':
    AccordionApp().run()

整个控件,我们称之为Accordion, 里边的每一项则是 AccordionItem. 

我们在创建这个对象的时候一般会构建一个如下的树形结构:

python kivy 控件介绍--- Accordion 折叠控件_第2张图片

如果这个Item里边包含的东西太多的话,则有可能显示不了会抛出异常。  

我们先来介绍 Accordion 这个类,这个类有几个很实用的参数,一个是已经使用了的 orientation,值为‘vertical’ 或者 ‘horizontal’,用来控制子项是上下滑动还是左右滑动。 

第二个参数是 anim_duration, 用于控制子项滑动的速度,默认是0.25,也就是250毫秒。 

第三个参数是 min_space,用于控制子项折叠后的最小空间。默认为44,调成30的效果就如下图所示:

python kivy 控件介绍--- Accordion 折叠控件_第3张图片

接下来介绍一下 AccordionItem类。

它可以增加自定义的控件。比如这个我们使用的是Label。

可以给title指定背景图片

item1 = AccordionItem(title='first',background_normal='1.png',background_selected='2.png')

当然还有其他很多的操作参考API文档吧。

 

你可能感兴趣的:(python,kivy)