为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 ScreenManager 在 kv 语言上使用 Kivy 的 RecycleView?

如何使用 ScreenManager 在 kv 语言上使用 Kivy 的 RecycleView?

慕森卡 2021-06-06 21:51:20
我在 Google 的 Firebase 上有一个运行良好的数据库,我可以轻松地将数据保存在那里。我想为我的应用返回这些数据,但在我遇到问题之前,我无法在 Kivy 上列出任何内容。我想使用 Kivy 的 ListView,但在文档中建议使用 RecycleView。但我无法理解文档。我有些疑惑。如果您可以阅读RecycleView的文档,您将看到以下示例:Builder.load_string('''<RV>:    viewclass: 'Label'    RecycleBoxLayout:        default_size: None, dp(56)        default_size_hint: 1, None        size_hint_y: None        height: self.minimum_height        orientation: 'vertical'''')class RV(RecycleView):    def __init__(self, **kwargs):        super(RV, self).__init__(**kwargs)        self.data = [{'text': str(x)} for x in range(100)]class TestApp(App):    def build(self):        return RV()if __name__ == '__main__':    TestApp().run()但是我使用ScreenManager来控制我的屏幕,然后,在 TestApp 类中我返回 'sm',就像文档的这个例子:# Declare both screensclass MenuScreen(Screen):    passclass SettingsScreen(Screen):    pass# Create the screen managersm = ScreenManager()sm.add_widget(MenuScreen(name='menu'))sm.add_widget(SettingsScreen(name='settings'))class TestApp(App):    def build(self):        return smif __name__ == '__main__':    TestApp().run()如果您看到语法不同,那么我不知道如何对此进行编码。我想继续使用 ScreenManager 来控制屏幕并使用 RecycleView 在列表中返回我的数据。如何将 RecycleView 与我的 ScreenManager 一起使用?这是我的main.py,我在另一个文档中配置了屏幕,我也是用ki语言的。所以如果你们都可以给我做一个例子,我将不胜感激。import kivyfrom kivy.app import App, Builderfrom kivy.config import Configfrom kivy.uix.screenmanager import ScreenManagerfrom telas.telas import Acesso, Comprando, Vendendo, CadastrarEventokivy.require('1.10.1')Builder.load_file('ing.kv')Config.read('config.ini')sm = ScreenManager()sm.add_widget(Acesso(name='acesso'))sm.add_widget(Comprando(name='comprando'))sm.add_widget(Vendendo(name='vendendo'))sm.add_widget(CadastrarEvento(name='cadastrarEvento'))sm.add_widget(ListaEventos(name='listaEventos'))class IngApp(App):    def build(self):        return smif __name__ == '__main__':IngApp().run()这是我第一次尝试的kv<ListaEventos>:    canvas:        Rectangle:            source: 'design/fundo.png'            size: self.width, self.height    
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信