RecycleView / Liste in Kivy

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
efix
User
Beiträge: 43
Registriert: Samstag 7. Dezember 2019, 20:59

Hallo Leute,

ich komm gerade nicht weiter. Ich möchte eine Liste in Kivy haben und Einträge hinzufügen. Aber wie mache ich das am besten. Kann auch sein dass ich das mit dem Layout und den Widgets noch nicht wirklich verstanden habe. Würde mich sehr über hilfe freuen.

Die kv Datei:

Code: Alles auswählen

#:kivy 2.1.0
<RootWidget>:
    BoxLayout:
        orientation:'vertical'
        viewclass: 'Label'

        RecycleBoxLayout:
            id:shopping_list
            orientation: 'vertical'

        Label:
            id:number_display
            text: "Test"

        GridLayout:
            cols: 3
            rows: 4

            Button:
                id: button_one
                text:'1'
                font_size:"50sp"
                color: [0, 255, 255, .67]
                on_press: root.btn_click("1")
Die main Datei:

Code: Alles auswählen


class RootWidget(BoxLayout):

    def btn_click(self, number_string: str):
        self.ids.number_display.text = number_string


class ShoppingList(RecycleView):
    
    def __init__(self, **kwargs):
        super(RootWidget, self).__init__(**kwargs)
        self.data = [{'text': str(x)} for x in range(20)]


class ActionApp(App):
    def build(self):
        return RootWidget()


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

und wie geht es weiter?
Habe schon ein paar Sachen ausprobiert. Ich glaube das Problem liegt auch daran das ShoppingList ein Widget ist und wenn müsste ich das in das RootLayout adden...
Aber gibt es nicht noch einen anderen weg einfach eine Liste zu erstellen und an ein Property zu binden. Ich brauch keine Widgets. Geht alles in in einer Klasse...

Ich hatte das mit Widgets ausprobiert und hatte da Schwierigkeiten mit und weil ich eigentlich für diese App keine verschiedenen Unterteilungen benötige wollte ich das so machen...
efix
User
Beiträge: 43
Registriert: Samstag 7. Dezember 2019, 20:59

Code: Alles auswählen

<RootWidget>:
    BoxLayout:
        orientation:'vertical'

        ShoppingList:
            orientation: 'vertical'
            data: []

        Label:
            id:number_display
            text: "Test"
Wenn ich eine Regel für ShoppingList erstelle gehts. Aber es wird noch nichts angezeigt...
Antworten