Python 幻灯片更换时转盘上的Kivy事件

Python 幻灯片更换时转盘上的Kivy事件,python,carousel,kivy,Python,Carousel,Kivy,我不知道该怎么解决我的问题 我已经用Carousel小部件制作了一个应用程序。在这个旋转木马中,我有4张幻灯片。 欢迎幻灯片->DVD幻灯片->DVD幻灯片-->分类幻灯片 我已经为每张幻灯片上了课 我使用ListAdpter显示从Sqlite3数据库提取的数据 我的pblem是关于列表的刷新,当我在DVD幻灯片中修改DVD(将名称添加到pret)时,当我滑到DVD pret时,DVD不会出现,因为列表未刷新 就像旋转木马的文档一样,我找不到幻灯片更改时的事件。如果存在获取当前幻灯片索引的事件,

我不知道该怎么解决我的问题

我已经用Carousel小部件制作了一个应用程序。在这个旋转木马中,我有4张幻灯片。 欢迎幻灯片->DVD幻灯片->DVD幻灯片-->分类幻灯片 我已经为每张幻灯片上了课

我使用ListAdpter显示从Sqlite3数据库提取的数据

我的pblem是关于列表的刷新,当我在DVD幻灯片中修改DVD(将名称添加到pret)时,当我滑到DVD pret时,DVD不会出现,因为列表未刷新

就像旋转木马的文档一样,我找不到幻灯片更改时的事件。如果存在获取当前幻灯片索引的事件,这将是最好的

你知道吗


谢谢,

您可以观察
索引
属性:

from kivy.uix.carousel import Carousel
from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.lang import Builder

Builder.load_string('''
<Page>:
    Label:
        text: str(id(root))

<Carousel>
    on_index: print("slide #{}".format(args[1]))
''')

class Page(BoxLayout):
    pass

class TestApp(App):
    def build(self):
        root = Carousel()
        for x in range(10):
            root.add_widget(Page())
        return root

if __name__ == '__main__':
    TestApp().run()
from kivy.uix.carousel import Carousel
from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.lang import Builder

Builder.load_string('''
<Page>:
    label_id: label_id
    Label:
        id: label_id
        text: str(id(root))

<Carousel>
    on_current_slide: print(args[1].label_id.text)
''')

class Page(BoxLayout):
    pass

class TestApp(App):
    def build(self):
        root = Carousel()
        for x in range(10):
            root.add_widget(Page())
        return root

if __name__ == '__main__':
    TestApp().run()

如果您想要一个纯python解决方案而不是Kivy语言解决方案,您可以创建自己的carousel,它继承了Kivy carousel,如下所示

import kivy      
from kivy.uix.carousel import Carousel 

class MyCarousel(Carousel):
    # This class is a carousel that runs script
    # when a slide gets focus (except first load).
    def on_index(self, *args):
        print('the slide is', self.index)
        # YOUR CODE GOES HERE
        Carousel.on_index(self, *args)


索引上的
很棒。你在哪里找到的?我在文档中的任何地方都看不到它。@JohnBaber Lucero,
index
是一个描述的属性,对于任何属性,您都可以在
方法上定义
,以观察其更改。有关更多参考,请参阅。这就是Kivy properties如此有用的原因。我发现索引上的
和当前幻灯片上的
都不起作用。还有其他解决办法吗?