Seite 1 von 1
Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 11:32
von Brando
Kann mir jemand sagen warum folgendes funktioniert:
und auch folgendes:
aber folgendes nicht:
Code: Alles auswählen
display(widgets.VBox((mhbox1,[i for i in cb_container],mhbox2)))
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 12:01
von BlackJack
@Brando: Weil Du beim dritten Fall etwas übergibst was `VBox` nicht versteht, also keine Sequenz von Elementen die VBox erwartet.
Was sagt Dir denn die Fehlermeldung?
Und was soll ````? Kann es sein das Du da was abgeschrieben hast was Du nicht verstanden hast? Und wo hast Du das her, das ist nämlich nicht wirklich die Art und Weise wie man das schreiben würde. Die `list()`-Funktion wäre an der Stelle naheliegender.
Edit: Und wofür steht das `cb_` in `cb_container`? Nicht das das schon mal gefragt wurde. Willst Du das nicht beantworten oder kannst Du es nicht?
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 12:45
von Brando
Aber diese Sequenz ist doch im ersten Beispiel akzeptiert worden. Warum nicht im dritten Beispiel? cb steht für checkbox; es werden also im Container checkbxes dargestellt.
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 12:56
von Sirius3
@Brando: dann solltest Du Dir mal genau anschauen, wie das Argument von VBox im ersten Beispiel und im dritten Beispiel aussieht.
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 13:02
von Brando
Die sind absolut identisch. Nur das die Sequenz mit noch zusätzlichen Elementen im dritten Beispiel angereichert ist, was aber funktionieren müsste, sonst würde ja Beispiel 2 auch nicht funktionieren.
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 13:22
von BlackJack
@Brando: Das ist eben *nicht* der Fall. Schau Dir an wie viele Elemente es sind und welchen Typ die haben. Schau es Dir wirklich mal an und denke nicht nur das muss schon so passen.
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 13:28
von Brando
Heißt das vielleicht, dass VBox nur Eingaben mit gleichem Typ akzeptiert, so dass es verschiedene Typen für i und bspw. mhbox2 gibt?
Re: Funktioniert und funktioniert nicht
Verfasst: Mittwoch 15. Juni 2016, 13:34
von BlackJack
@Brando: `VBox` will eine Sequenz in der Objekte von einem Typ drinstehen mit dem es was anfangen kann. Und das machst Du im ersten Beispiel und im zweiten Beispiel, aber im dritten halt nicht. Die `i`-Werte sind vom richtigen Typ wenn das erste Beispiel funktioniert.
Wie viele Elemente hat denn Deiner Meinung nach das Tupel welches Du im dritten Beispiel übergibst? Prüf Deine Annahme mal nach in dem Du Dir die Länge ausgeben lässt. Und den Wert selbst vielleicht auch mal, dann siehst Du ja was daran deutlich anders ist als bei den anderen beiden Beispielen.