MessageBox

Fragen zu Tkinter.
Antworten
Mirabell94
User
Beiträge: 4
Registriert: Freitag 6. Januar 2012, 18:40

Hey, ich hab folgendes Problem,hab jetzt eine MessageBox mit ja und nein flächen erstellt, das klappt auch ohne probleme. Allerdings möchte ich nun das wenn auf ja geklickt wird eine andere nachricht erscheint, wie wenn auf nein geklickt wird, was leider mit keiner meiner ideen funktionieren wollte. Kann sein das es eine einfavhe frage ist, aber ich stehe gerade echt auf dem schlauch :D

Code: Alles auswählen

def starten():
   messagebox.askyesno("Sicher??","Sind sie sich wirklich ganz sicher??")
   if messagebox.askyesno == yes:
    messagebox.showinfo("Heute nicht","Das Tippbüro des Würfelspiels hat leider schon geschlossen")
   else:
    messagebox.showinfo("Schade!","Schade,bis zu nächsten mal!")
danke schonmal ;)
lg
Zuletzt geändert von Mirabell94 am Freitag 6. Januar 2012, 18:52, insgesamt 3-mal geändert.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mirabell94 hat geschrieben: edit: also das is eig alles eingerückt ;)
Du musst die Python-Code-Tags benutzen. Dann klappt das auch; bitte editiere doch mal Deinen Beitrag.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Mirabell94
User
Beiträge: 4
Registriert: Freitag 6. Januar 2012, 18:40

gemacht. Danke :D
BlackJack

@Mirabell94: Wo wird denn der Name `yes` überhaupt an einen Wert gebunden? Und ist Dir klar *was* Du da eigentlich vergleichst? Du vergleichst die *Funktion* mit einem Wert. Das ist ziemlich sinnfrei. Dich interessiert wohl eher der Rückgabewert der Funktion, den Du momentan einfach ignorierst.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Die Einrückungen sollten laut PEP8 vier Spaces sein.

Was glaubst Du denn, dass `yes` ist?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Mirabell94
User
Beiträge: 4
Registriert: Freitag 6. Januar 2012, 18:40

ja mich interessiert eig der rückgabewert, da vorhin aber so ziemlich nichts wirklich funktioniert hat. Es kam dann zwar das was ich wollte, allerdings nur für nein und ich ziemlich viele unterschiedliche versionen hatte, hab ich irgendeine jetzt gepostet. Hatte vorhin auch versionen mit return etc. und ohne dem vergleich mit der funktion, bin aber jetzt einfach nicht mehr weiter gekommen und als anhaltspunkt was ich eigentlich machen wollte hab ich das gepostet.
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Entweder du weist den Rückgabewert einer Variablen zu um ihn später abzufragen oder vergleichst den Rückgabewert der Funktion sofort. Bisher klingts nach reiner Rumprobiererei deinerseits ohne wirkliches Verständnis was der Code an sich macht.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das passiert beim Klick auf "Nein" und "Ja":

Code: Alles auswählen

In [40]: tkMessageBox.askyesno("Hallo", "Welt")
Out[40]: False

In [41]: tkMessageBox.askyesno("Hallo", "Welt")
Out[41]: True
Du bekommst also schon Wahrheitswerte :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Mirabell94
User
Beiträge: 4
Registriert: Freitag 6. Januar 2012, 18:40

habs hingegrigt danke..
Antworten