kivy的RecycleView遍历并显示数据的学习,这里演示了遍历了段文字与循环指定数字范围并居中显示,本文包括py,kv文件,有实操演示效果及源码,及此部件的常用属性:
先看下运行效果
recycleview.py
from kivy.app import App
from kivy.uix.recycleview import RecycleView
class RecycleViewWidget(RecycleView):
def __init__(self,**kwargs): ##初始化
super(RecycleViewWidget, self).__init__(**kwargs)
pp=('党的十九届六中全会是一次继往开来的会议,最重要的议程和最大成就是审议通过了《**关于党的百年奋斗重大成就和历史经验的决议》')
self.data=[{'text':str(pp[x])} for x in range(len(pp))]
# self.data=[{'text':str(x)} for x in range(20)]
class RecycleViewApp(App):
##实现App类的build()方法(继承自App类)
def build(self):
return RecycleViewWidget() ##返回根控件
if __name__=='__main__':
from kivy.core.window import Window
Window.clearcolor=[0,0,0,0]
RecycleViewApp().run() ##启动应用程序
recycleview.kv
<RecycleViewWidget>: ##定义页面
viewclass:'Label' ##视图类
RecycleBoxLayout: ##遍历数据
default_size:None,dp(56) ##设置默认大小
default_size_hint:1,None ##设置默认大小
size_hint_y:None ##设置大小
height:self.minimum_height ##设置高度
orientation:'vertical' ##指定布局方向
以上源码自行复制在开发工具里进行调试,了解其中的功能。
RecycleView常用属性 |
说明 |
data | 当前RecycleView使用的数据,格式为多个字典组成的列表,例['text':1},{'text':2}] |
viewclass | 当前layout_manager使用的视图类,例如:Label |
key_viewclass | 获取或设置当前的键 |
view_adapter | 表示数据集中项目的视图,使用AliasProperty类设置 |
layout_manager | 布局管理器 |
data_model | 维护数据集的数据横型 |
refresh_from_data(*largs,**kwargs) | 数据更改时应调用此方法,此方法自动绑定到该类的on_data_changed()方法 |
refresh_from_layout(*largs,**kwargs) | 当布局更改或需要更改时,应调用此方法,通常在布局参数已更改且需要重新计算布局时调用 |
refresh_from_viewport(*largs) | 当窗口更改并且必须更新显示的数据时,应调用些方法,否则数据和布局都不会重新计算 |
add_widget | 添加一个新小部件作为些小部件的子级 |
remove_widget(widget,*largs) | 从该小部件的子级中删除一个小部件 |
因有同学问到我的kivy学习资料里支持中文的方法是怎么解决的,我将解决中文的方法链接贴在这里,大家去照着做就可以了,很简单点击这个链接进入:kivy全局中文支持最简单的解决方法。