[英]How to make a carousel in Kivy?
我做了一个小Kivy应用程序作为接口。 旋转木马似乎正在工作,但我想让旋转木马自己启动(这意味着不使用鼠标)。 事实上,该应用程序将部署在一个没有任何鼠标或键盘的小机器人上,因此这就是我需要旋转木马自己传递图像的原因。
正如您在我的代码中看到的那样,轮播确实有效,但我无法弄清楚如何在不用鼠标单击的情况下启动它。
class Logo(App):
def build(self):
carousel = Carousel(direction='right')
for i in range(2):
src = "image.png"
image = Factory.AsyncImage(source=src, allow_stretch=True)
carousel.add_widget(image)
return carousel
if __name__ == '__main__':
Logo().run()
有任何想法吗 ? 谢谢。
你想要一个事件来触发运动,我认为最简单的方法就是使用一个时钟。
from kivy.clock import Clock
然后在你的构建中,你可以安排以某个间隔递增轮播的位置,轮播对于load_next
有一个方便的功能,但如果你这样做,它会很快停留在最后一帧,所以你会可能想要将loop=True
传递给Carousel
实例化。
from kivy.app import App
from kivy.factory import Factory
from kivy.uix.carousel import Carousel
from kivy.clock import Clock
class Logo(App):
def build(self):
carousel = Carousel(direction='right', loop=True)
for i in range(2):
image = Factory.Label(text=str(i))
carousel.add_widget(image)
Clock.schedule_interval(carousel.load_next, 1)
return carousel
if __name__ == '__main__':
Logo().run()
(我通过标签更改图像以更容易地看到差异)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.