我不知道如何找到我的问题的解决方案。
我已经使用 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/