繁体   English   中英

带有.kv 文件的 RecyleView (Python/Kivy)

[英]RecyleView with .kv file (Python/Kivy)

总 python 新手问题在这里。 试图在这里实现一个基本的 RecycleView,但是当我运行它时它没有显示出来。 我没有收到任何错误(除了警告说我正在多次加载 my.kv 文件......我将在接下来修复它)

关于如何让它运行的任何提示?

我只包含了当前用于尝试和实现视图的代码片段。

.py 代码

from kivy.app import App
from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder



class TransactionScreen(Screen):
    def __init__(self, **kwargs):
        super(TransactionScreen, self).__init__(**kwargs)
        self.data = [{'text': str(x)} for x in range(100)]


class WindowManager(ScreenManager):
    pass


kv = Builder.load_file("my.kv")


class MyApp(App):
    def build(self):
       return kv


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

.ky 代码

    TransactionScreen:



<TransactionScreen>:
    name:"transactions"

    viewclass:'Label'
    RecycleBoxLayout:
        default_size:None, dp(56)
        default_size_hint:1, None
        size_hint_y:None
        height:self.minimum_height
        orientation:'vertical'



您的代码中没有RecycleView 一种快速解决方法是更改:

class TransactionScreen(Screen):

至:

class TransactionScreen(RecycleView):

或者,也许更好的方法是将RecycleView添加到TransactionScreen

<TransactionScreen>:
    name:"transactions"

    RecycleView:
        viewclass:'Label'
        data: root.data
        RecycleBoxLayout:
            default_size:None, dp(56)
            default_size_hint:1, None
            size_hint_y:None
            height:self.minimum_height
            orientation:'vertical'

并将TransactionScreen保留为:

class TransactionScreen(Screen):

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM