Um Ihre Frage zu beantworten, ja, es ist Frame Introspektion.
Aber die Syntax ich schaffen würde, das Gleiche zu tun ist
with gui.vertical:
text = gui.label('hello!')
items = gui.selection(['one', 'two', 'three'])
@gui.button('click me!')
class button:
def on_click():
text.value = items.value
text.foreground = red
Hier würde ich gui.button
als Dekorateur implementieren, die Schaltfläche Beispiel einige Parameter und Ereignisse gegeben zurück (obwohl es mir jetzt scheint, dass button = gui.button('click me!', mybutton_onclick
ist auch gut).
Ich würde auch verlassen gui.vertical
wie es ist, da es ohne Introspektion implementiert werden kann. Ich bin mir nicht sicher über die Implementierung, aber es kann beinhalten gui.direction = gui.VERTICAL
, so dass gui.label()
und andere verwenden es bei der Berechnung ihrer Koordinaten.
Nun, wenn ich dies zu betrachten, ich glaube ich die Syntax versuchen würde:
with gui.vertical:
text = gui.label('hello!')
items = gui.selection(['one', 'two', 'three'])
@gui.button('click me!')
def button():
text.value = items.value
foreground = red
(die Idee ist, dass ähnlich wie Etikett aus Text besteht, eine Schaltfläche aus Text besteht und Funktion)
Schön, vielen Dank. – llimllib
Gern geschehen! war ein lustiges Problem zu bewältigen, also tx für das Posieren ;-). –
Ich habe einen Blogeintrag über die Verwendung des Codes, den Sie mir gegeben haben, veröffentlicht, falls Sie interessiert sind: http://billmill.org/multi_line_lambdas.html – llimllib