python - 幻灯片更改时轮播上的 Kivy 事件

标签 python carousel kivy

我不知道如何找到我的问题的解决方案。

我已经使用 Carousel Widget 制作了一个应用程序。在这个旋转木马中,我有 4 张幻灯片。 welcomeSlide -> DVDSlide -> DVDPretSlide --> CategorySlide 我为每张幻灯片制作了一个类。

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

我的问题是关于列表的刷新,当我在 DVDSlide 中修改一个 DVD(添加名称来 pret)时,当我滑动到 DVDPret 时,DVD 没有出现,因为列表没有刷新。

就像轮播的文档一样,我找不到幻灯片更改时的事件。如果有获取当前幻灯片索引的事件最好。

你有什么想法吗?

谢谢,

最佳答案

可以观察index属性:

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()

或者你可以观察 current_slide 属性:

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 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25569153/

相关文章:

android - 在 kivy 文件中导入小部件

python - 将数据库记录拆分为变量

python - 提高比较算法 np.packbits(A==A[ :, None], axis=1) 的性能

javascript - 轮播替换鼠标悬停时的图像

flutter - carousel_slider( flutter 包)中的 “items: child”是什么意思?

python - Kivy 无法导入相机

python - 在旧的 CE 设备上运行 Python 时遇到问题

python - 如何使用该列周围(顶部和底部)值的平均值填充该列的 NaN 值?

javascript - 卡片按 Y 轴旋转

python - 使用 Python 根据直方图调整曝光(亮度/对比度)