自定义小部件作为 ListView 中的元素

亚历克斯·什瓦奇科

我只想写一个聊天室应用程序,想在 ListView 中实现一个消息列表,所以 - 消息概念

但我不知道如何做到这一点,因为 kivy 上的列表适配器只能接受列表的 ListItemButton 或 ListItemLabel 元素。他不接受我的自定义类的类型,甚至不接受简单的 BoxLayout。提前谢谢你。

埃利亚内斯克

首先你不再使用ListView,因为它已被弃用,kivy推荐使用RecycleView,概念类似于ListView,有一个数据字段,即字典列表,其中字典是使用视图的widget的属性接收创建每个项目。

假设自定义小部件已经拥有它,那么您必须公开列表可以修改的所有属性,在示例中有 3 个属性:source_image、title 和 message。

from kivy.app import App
from kivy.base import runTouchApp

from kivy.lang import Builder
from kivy.uix.recycleview import RecycleView

Builder.load_string('''

<CustomWidget@BoxLayout>:

    source_image: ""
    title: ""
    message: ""

    orientation: 'horizontal'
    Image:
        source: root.source_image
        size_hint_x: 1
    BoxLayout:
        size_hint_x: 2
        orientation: 'vertical'
        Label:
            text: root.title
            size: self.texture_size
            size_hint_y: None
        Label:
            text: root.message

<View>:
    viewclass: 'CustomWidget'
    RecycleBoxLayout:
        default_size: None, dp(56)
        default_size_hint: 1, None
        size_hint_y: None
        height: self.minimum_height
        orientation: 'vertical'
''')

class View(RecycleView):
    def __init__(self, **kwargs):
        super(View, self).__init__(**kwargs)
        self.data = [{'source_image': "heart.png", 'title': "title{}".format(i), 'message': "message"} for i in range(100)]

if __name__ == '__main__':
    runTouchApp(View())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Flutter中将自定义小部件项目填充到ListView中?

来自分类Dev

Yii中的自定义小部件

来自分类Dev

Yii中的自定义小部件

来自分类Dev

片段中的自定义listView作为viewPager布局

来自分类Dev

为ruby gem dashing.io创建自定义小部件-或合并小部件元素

来自分类Dev

如何在自定义小部件中显示QChartView?

来自分类Dev

在Wordpress中创建自定义小部件

来自分类Dev

在Python Qt中访问自定义小部件?

来自分类Dev

将自定义小部件显示到布局中

来自分类Dev

在Kivy应用中重用自定义小部件

来自分类Dev

Qt 在 QTableView 中设置自定义小部件

来自分类Dev

如何在 Flutter 中自定义 Slider 小部件?

来自分类Dev

创建自定义窗口小部件并允许在UiBinder中嵌套子元素

来自分类Dev

Django:自定义模型中的自定义小部件

来自分类Dev

自定义小部件中的自定义onClickListner-如何?

来自分类Dev

如何为yii2 ListView小部件使用自定义过滤器?

来自分类Dev

如何根据对象模型内容使用自定义小部件创建ListView

来自分类Dev

如何在Xamarin小部件中使用自定义行创建ListView

来自分类Dev

ListView中的自定义ListViewItem

来自分类Dev

在Android中实现自定义ListView

来自分类Dev

自定义ListView中的弹出菜单

来自分类Dev

ListViewDragginganimation中的自定义listview项

来自分类Dev

ListView中的自定义onInterceptTouchEvent

来自分类Dev

在Android中搜索自定义Listview?

来自分类Dev

ListView中的自定义行

来自分类Dev

ListViewDragginganimation中的自定义listview项

来自分类Dev

Android ListView中的自定义字体?

来自分类Dev

listView中的自定义HeaderView

来自分类Dev

listView中的自定义alertDialog

Related 相关文章

热门标签

归档