Kivy refresh layout (Async Loading)(Kivy 刷新布局(异步加载))
问题描述
我有一个 ListView,其中每个项目都有一个 AsyncImage 和一个标签.加载图像时,它会显示每个项目之间有间隙的布局.
I have a ListView that where each item has a AsyncImage and a Label. While the images load it shows the layout with gaps between each item.
-------
Item
-------
Item
-------
当第一次交互发生(发生滚动)时,布局刷新并且间隙消失.
When the first interaction happens (a scroll occurs), the layout refreshes and the gaps disappear.
-------
Item
-------
Item
-------
我真的很想在图像加载完成后刷新布局.如何刷新布局?
I'd really like to have the layout refresh when an image finishes loading. How do I refresh a layout?
推荐答案
通常你可以通过调用 widget.canvas.ask_update().
Usually you can ask the widget to update it's canvas by calling widget.canvas.ask_update().
对于布局,您可以尝试通过调用 layout_instance.do_layout().
For a layout you could try triggering the layout of the widgets inside it by calling layout_instance.do_layout().
这篇关于Kivy 刷新布局(异步加载)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Kivy 刷新布局(异步加载)
基础教程推荐
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
