繁体   English   中英

如何在Kivy中创建自定义列表视图项?

[英]How can I create a custom listview item in kivy?

我正在尝试使用kivy在python 3.3中为listview创建一个自定义listview项目。

一个列表项应包含一个标签和3个按钮。

我创建了一个列表视图,其中将适配器cls设置为自定义项类,如下所示:

        ListView:
            id: cue_list
            adapter: ListAdapter(data=[], cls=ListItemButton)
            item_strings: []

然后,我像这样设置类规则:

<ListItemButton>:
    size_hint_y: root.size_hint_y
    height: root.height
    orientation:"horizontal"
    Button:
        size_hint: 0.2, 1.0
        text: "delete"

然后在我的python文件中创建一个添加一些项目的函数:

    def addcue(self):
        self.lv.adapter.data.extend(["new item"])
        self.lv._trigger_reset_populate()

但奇怪的是,结果是这样的: http : //i.stack.imgur.com/dNmz1.png

如何使用.kv文件语言从头开始在Kivy中指定列表视图项?

您的小部件具有ListItemButton的属性和样式,因为...嗯,继承就是这样。 如果您不希望这样做,请创建自己的列表项小部件,并将其子类http://kivy.org/docs/api-kivy.uix.listview.html#kivy.uix.listview.SelectableView 例如,ListItemButton是SelectableViewButton的子类。

另外,所有删除按钮都重叠,因为ListItemButton不是布局,因此您提供的size_hint信息也不起作用,因此所有按钮的默认pos为0,0,默认大小为100,100。 如果您想要布局行为,请使列表项类成为布局,例如BoxLayoutSelectableView的子类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM