Python Kivy并将本地照片添加到Carousel

时间:2017-11-08 20:01:02

标签: python python-3.x kivy carousel kivy-language

请原谅我,我现在正在学习Python,不久前就开始使用Kivy了。

我只是想添加来自我的" carousel /"我的项目中的目录是加载时逐个出现在旋转木马应用程序中的每张照片。

代码运行正常,我甚至可以加载带有照片链接的异步照片,但无论出于何种原因,当我尝试从我的" carousel"他们不会出现的文件夹。

我知道这些照片会返回,因为我使用的是" Image"电话,它工作,我也看了一遍,还有其他解决方案,但我无法建立他们的解决方案和我需要的连接。

以下是代码和下面的图片,就像我说代码构建并运行良好但图片不会显示出来。提前谢谢!

[from kivy.app import App
from kivy.uix.carousel import Carousel
from kivy.uix.image import AsyncImage
from kivy.core.image import Image
from kivy.factory import Factory


class CarouselApp(App):

    def build(self):

        carousel = Carousel(direction='right')

        for i in range(0,2):
            src = "carousel/%s.jpg" % str(i)
            image = Factory.AsyncImage(source=src, allow_stretch=True)
            carousel.add_widget(image)
        return carousel

CarouselApp().run()][1]

https://i.stack.imgur.com/igyeq.png

2 个答案:

答案 0 :(得分:1)

您必须将所有照片存储在名为carousel的文件夹中,然后才能删除Factory。

实施例

main.py

from kivy.app import App
from kivy.uix.carousel import Carousel
from kivy.uix.image import AsyncImage


class CarouselApp(App):

    def build(self):

        carousel = Carousel(direction='right')

        for i in range(0, 6):
            src = "carousel/%s.png" % str(i)
            image = AsyncImage(source=src, allow_stretch=True)
            carousel.add_widget(image)
        return carousel


CarouselApp().run()

输出

enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

答案 1 :(得分:0)

您正在尝试加载'carousel/0.jpg''carousel/1.jpg'而不是'carousel_images/00.jpg''carousel_images/01.jpg',试试这个:

from kivy.app import App
from kivy.uix.carousel import Carousel
from kivy.uix.image import AsyncImage
from kivy.core.image import Image
from kivy.factory import Factory


class CarouselApp(App):

    def build(self):

        carousel = Carousel(direction='right')

        for i in range(0,2):
            src = "carousel_images/0{}.jpg".format(str(i))
            image = Factory.AsyncImage(source=src, allow_stretch=True)
            carousel.add_widget(image)
        return carousel

CarouselApp().run()