The Carousel can be used to create a slide show. Here, we will have a 1-second delay between each slide.

Since this is an application, we need the App class. The Carousel widget is the super class of the root. We use the Clock to create a 1-second timer.

The root is based on Carousel. The update() function runs the Carousel's load_next() function to load the next slide.

In the build() of the app, a title is set and a continuous 1-second timer is started.

# ex56.py
from kivy.app import App
from kivy.uix.carousel import Carousel
from kivy.clock import Clock
class Ex56(Carousel):
def update(self, dt):
self.load_next()
class Ex56App(App):
def build(self):
self.title = 'Carousel Example'
ex56 = Ex56()
Clock.schedule_interval(ex56.update, 1)
return ex56
if __name__ == '__main__':
Ex56App().run()
In the kv file, a dynamic class MyImage is created so the images are stretched.

For the root, the direction of Carousel is 'right' and looping is True. Here, we have the first 2 images.

The next 3 slides are of images p3, p4 and p5.

# ex56.kv
<MyImage@Image>:
keep_ratio: False
allow_stretch: True
<Ex56>:
direction: 'right'
loop: True
MyImage:
source: 'p1.png'
MyImage:
source: 'p2.png'
MyImage:
source: 'p3.png'
MyImage:
source: 'p4.png'
MyImage:
source: 'p5.png'
Demo of App on Youtube.







