Seite 1 von 1

kivy - Layout bzw. Elemente schachteln

Verfasst: Donnerstag 5. März 2020, 23:15
von tiloprobst
Hi,

ich fange gerade an, kivy zu nutzen und raffe nicht wie ich Layoutelemente schachteln kann. Wenn ich den Code unten nutze, kriege ich entweder einen

Code: Alles auswählen

AttributeError: 'kivy.graphics.vertex_instructions.Rectangle' object has no attribute 'fbind'
oder, besonders beliebt,

Code: Alles auswählen

 kivy.uix.widget.WidgetException: add_widget() can be used only with instances of the Widget class.
Mein Ziel wäre, den Bildschirm in 2/3 oben und 1/3 unten zu teilen, und den oberen Bereich dann wieder in 2/3 links und 1/3 rechts. Wie kann ich also Layouts schachteln? Auf der kivy Website finden sich jede Menge Beispiele, aber nix zu komplexen Layouts und hier finden sich unter "Nesting Layouts" nur eine zynische Bemerkung.

Code: Alles auswählen

<Interface>:
	BoxLayout:
		orientation: 'vertical'
		canvas:
			Color:
				rgba: .2, .2, .2, 1.
		BoxLayout:
			orientation: 'horizontal'
			size_hint_y: .8
			Widget:
				size_hint_x: .62
				canvas:
					Color:
						rgba: .4, .4, .4, 1.
			Widget:
				size_hint_x: None
				canvas:
					Color:
						rgba: .4, .4, .4, 1.
	Widget:
		canvas:
			Color:
				rgba: .5, .5, .5, 1.
		size_hint_y: .3
		Rectangle:
			size_hint_x: None

Re: kivy - Layout bzw. Elemente schachteln

Verfasst: Donnerstag 5. März 2020, 23:39
von __deets__
Bin kein Kivy Kenner, aber komisch sieht für mich aus, dass dein Äußeres Box Layout das untere Widget nicht enthält. Muss das da nicht rein?

Re: kivy - Layout bzw. Elemente schachteln

Verfasst: Sonntag 19. April 2020, 09:01
von poldi
Vermutlich beziehen sich die Fehlermeldungen nicht auf die KV language, dann würde eine Builder Load Exception kommen. add_widget funktioniert nur wenn man auch von Widget oder Layout erbt. Bei 'fbind' würde ich einfach 'bind' versuchen.