Menü erstellen

Fragen zu Tkinter.
Antworten
bmh1980
gelöscht
Beiträge: 60
Registriert: Montag 26. Januar 2004, 17:13
Kontaktdaten:

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
[code]#!/usr/bin/env python
import this[/code]
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
bmh1980
gelöscht
Beiträge: 60
Registriert: Montag 26. Januar 2004, 17:13
Kontaktdaten:

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!
Antworten