Seite 1 von 1

Menü erstellen

Verfasst: Sonntag 31. Oktober 2004, 12:08
von bmh1980
Hallo.

Nach dem ich jetzt schon über die Suchfuntkion des Forums gesucht habe, scheint mein Anliegen eigentlich recht einfach zu sein.

Aber irgendwie klappt es bei mir nicht. Ich hätte gerne ein Menü in meinem Fenster, dass nur Menüpunkte, kein Pulldownmenü besitzt.

Doch jedesmal wenn ich das Skript ausführe, fängt der Rechner an zu arbeiten wie bekloppt und es öffnet sich keine Fenster, oder ich habe nur einen dicken Balken am oberen Fensterrand.

Das ist mein aktueller Code, bei dem sich das Fenster mit einem dicken Balken am oberen Rand öffnet.

Code: Alles auswählen

def ende():
    if tkMessageBox.askyesno('CarRent - Programm beenden',
                             'Wollen Sie das Programm wirklich beenden?'):
        window1.destroy()

window1 = Tk()
window1.protocol('WM_DELETE_WINDOW', ende)

menu1 = Menu(master = window1)
menu2 = Menu(master = menu1)
menu2.add_command(label = 'Beenden', command = ende)

window1.config(menu=menu1)
window1.mainloop()
So wie ich die Beispiele in meinem Buch und hier im Forum verstehe, ist da kein Fehler im Menü.

Da es aber nicht funktioniert, mach ich etwas falsch. Könnt ihr mir sagen was?

Marcus

Verfasst: Sonntag 31. Oktober 2004, 13:51
von Dookie
Hi Marcus,

da schein das menu.add_cascade zu fehlen.
auf http://www.pythonware.com/library/tkint ... -menus.htm gibts auch ein kleines Beispiel.


Gruß

Dookie

Verfasst: Sonntag 31. Oktober 2004, 14:54
von mawe
Hi!

Du erzeugst 2 mal ein Menu. Einmal reicht :D. Versuch mal dieses (sinnvolle) Beispiel:

Code: Alles auswählen

from Tkinter import *

def hello():
	print "hello"

root = Tk()

menubar = Menu(root)
menubar.add_command(label="Eins",command=hello)
menubar.add_command(label="Zwei",command=hello)
root.config(menu=menubar)

mainloop()
Gruß, mawe

Verfasst: Sonntag 31. Oktober 2004, 15:20
von bmh1980
Jetzt weiß ich, was das Problem war.

Zuerst hatte ich

Code: Alles auswählen

window1.config(menu=menu1)
vergessen. Bzw. es stand davon nix in meinem Buch.

Dann hab ich hier im Forum gesucht und habe anhand der Ergebnisse zwei Menüs zum Testen erzeugt.

Dabei hab ich mich wohl verheddert.

Mit

Code: Alles auswählen

menu1 = Menu(master = window1)
menu1.add_command(label = 'Beenden', command = ende)
klappt es jetzt.

Danke!