```py
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.scrollview import ScrollView
from kivy.uix.label import Label


class MyScrollView(ScrollView):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.size_hint = (None, None)  # Größenhinweis deaktivieren, um feste Größe zu ermöglichen
        self.bind(size=self.set_size)  # Größe an Fenstergröße binden
        self.set_size(Window, Window.size)

    def set_size(self, instance, size):
        self.height = size[1] * 0.8  # Höhe auf 80% der Fensterhöhe setzen
        self.width = size[0] * 0.8  # Breite auf 80% der Fensterbreite setzen


class MyApp(App):
    def build(self):
        return MyScrollView(
            size_hint=(None, None),
            pos_hint={'center_x': 0.5, 'center_y': 0.5},
            do_scroll_x=False,
            Label(text='Dies ist eine scrollbare Ansicht'),
        )


if __name__ == '__main__':
    MyApp().run()
```
Ich schreibe eine Python GUI-Anwendung mit dem Kivy-Framework. Wie kann ich die Höhe und Breite eines ScrollView automatisch auf 80% der Höhe und Breite des Fensters setzen, anstatt eine feste Größe zu haben? Du kannst das erreichen, indem du die Größe des ScrollView an die Größe des Fensters bindest, indem du das Window-Modul von Kivy verwendest. Hier ist ein Beispielcode, der die Höhe und Breite des ScrollView auf 80% der Höhe und Breite des Fensters setzt:

```python
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.scrollview import ScrollView
from kivy.uix.label import Label


class MyScrollView(ScrollView):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.size_hint = (None, None)  # Größenhinweis deaktivieren, um feste Größe zu ermöglichen
        self.bind(size=self.set_size)  # Größe an Fenstergröße binden
        self.set_size(Window, Window.size)

    def set_size(self, instance, size):
        self.height = size[1] * 0.8  # Höhe auf 80% der Fensterhöhe setzen
        self.width = size[0] * 0.8  # Breite auf 80% der Fensterbreite setzen


class MyApp(App):
    def build(self):
        return MyScrollView(
            size_hint=(None, None),
            pos_hint={'center_x': 0.5, 'center_y': 0.5},
            do_scroll_x=False,
            Label(text='Dies ist eine scrollbare Ansicht'),
        )


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

In diesem Beispiel erbt die Klasse MyScrollView von ScrollView und überschreibt ihre __init__-Methode, um die size_hint-Eigenschaft zu deaktivieren und die size-Eigenschaft an die set_size-Methode zu binden. Die set_size-Methode setzt die Höhe und Breite des ScrollView jeweils auf 80% der Höhe und Breite des Fensters. Schließlich setzt die Klasse MyApp die size_hint- und pos_hint-Eigenschaften des MyScrollView-Widgets und fügt ein Label als Kind hinzu.
Ja. Dies ist der Beispielcode, den ich zuvor bereitgestellt habe. Hast du Fragen zu einem bestimmten Teil des Codes?