python - 使用 on_selection_change() 事件从头开始创建 ListView
问题描述
我正在尝试使用 Kivy 和 Python 制作一个屏幕,该屏幕根据使用 mydb 的信息创建的 ListView 中选择的内容进行更改,但我找不到任何关于如何从头开始制作的说明,文档是我不太清楚我如何使用绑定和 on_selection_change() 方法,我完全迷路了。到目前为止,这是我的代码:
class PrincipalView(ListView):
def __init__(self):
super(PrincipalView, self).__init__()
db = MySQLdb.connect("localhost","root","password","mydb")
cursor = db.cursor()
objList = ObjList(cursor)
data = [{'text': item.name, 'is_selected': False} for item in objList.list]
args_converter = lambda row_index, rec: {'text': rec['text'],
'size_hint_y': None,
'height': 25}
list_adapter = ListAdapter(data=data,
args_converter=args_converter,
cls=ListItemButton,
selection_mode='single',
allow_empty_selection=False)
self.adapter=list_adapter
我的目标是使用 objList 中的一些数据来更改屏幕中列表视图旁边的网格布局。
解决方案
推荐阅读
- git - 使用 TOWER 时更改 Git 中的 Origin
- vue.js - ElementPlus UI:DatePicker 范围从/到日期始终相同
- c# - 异步等待返回的数据问题
- java - 为什么我搜索 Milvus 返回`向量维度必须等于集合维度`?
- python - 使用 np.select() 时的 SettingWithCopyWarning
- python - _tkinter.TclError:无法识别图像文件中的数据请解决 Windows 10
- css - 可以选择父级以使用没有子元素的 `:not()` 运算符吗?
- visual-c++ - COM 接口中的枚举何时应具有 UUID?
- django - 有没有办法在 Django 管理站点中显示 Django 消息?
- python - 我可以压缩包含一些 setuptools.Extension 的 PySpark 依赖项吗?