[英]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是SelectableView
和Button
的子类。
另外,所有删除按钮都重叠,因为ListItemButton不是布局,因此您提供的size_hint信息也不起作用,因此所有按钮的默认pos为0,0,默认大小为100,100。 如果您想要布局行为,请使列表项类成为布局,例如BoxLayout
和SelectableView
的子类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.