Menu-Fenster lässt sich nicht öffnen
Verfasst: Montag 15. Mai 2023, 18:48
Aus der Menüleiste öffne ich das Fenster „Teilnehmer erfassen“. Danach schliesse ich das Fenster mit „Quit“ und möchte das Fenster „Anzahl Bahnen erstellen“ öffnen. Leider wird der Inhalt nicht angezeigt. Schließe ich aber wieder das Fenster um weitere Teilnehmer zu erfassen, funktioniert alles problemlos.
Starte ich das Programm neu und wähle aus dem Menu zuerst „Anzahl Bahnen erstellen“ scheint alles einwandfrei zu funktionieren.
Ich kann den Fehler nicht finden und bitte um Hilfe.
Starte ich das Programm neu und wähle aus dem Menu zuerst „Anzahl Bahnen erstellen“ scheint alles einwandfrei zu funktionieren.
Ich kann den Fehler nicht finden und bitte um Hilfe.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import tkinter as tk
from tkinter import *
from tkinter import messagebox
class Sport():
def __init__(self):
self.start()
def start(self):
self.mainframe = tk.Tk()
# eine Musszeile!!!!
self.mainframe.option_add('*tearOff', FALSE)
self.mainframe.geometry('300x200+10+10')
self.mainframe.title("Boule Turnier Software (Schweizer System)")
menubar = tk.Menu(self.mainframe)
# Menubar Grundeinstellungen
einstellungen = tk.Menu(menubar)
einstellungen.add_command(label="Neues Turnier anlegen")
einstellungen.add_command(label="Anzahl Bahnen erstellen", command=self.anz_bahnen)
einstellungen.add_command(label="Teilnehmer erfassen", command=self.tn_erfassen)
einstellungen.add_command(label='Exit', command=self.mainframe.destroy)
menubar.add_cascade(label="Grundeinstellungen", menu=einstellungen)
self.mainframe.config(menu=menubar)
self.mainframe.mainloop()
def anz_bahnen(self):
entry_frame = Frame(self.mainframe)
l1 = Label(entry_frame, text="Anzahl Bahnen").grid(row=0, column=0)
self.anz_bahnen = Entry(entry_frame, relief='raised')
self.anz_bahnen.grid(row=0, column=1, padx='1', pady='1', sticky='w')
Button(entry_frame, text='Eingabe', relief='raised', command=self.number).grid(row=1, column=0, padx='1',
pady='1',
sticky='w')
Button(entry_frame, text='Quit', relief='raised', command=self.reset).grid(row=1, column=1, padx='1', pady='1',
sticky='w')
entry_frame.pack()
def number(self):
try:
int(self.anz_bahnen.get())
self.zahl = self.anz_bahnen.get()
messagebox.showinfo("info",
"************************\nBahnen erfolgreich\nangelegt\n************************")
# message_bahnen()
except ValueError:
pass
# message_number()
def reset(self):
self.mainframe.destroy()
self.start()
def tn_erfassen(self):
entry_frame = Frame(self.mainframe)
l1 = Label(entry_frame, text="Teilnehmer").grid(row=0, column=0)
self.anz_bahnen = Entry(entry_frame, relief='raised')
self.anz_bahnen.grid(row=0, column=1, padx='1', pady='1', sticky='w')
Button(entry_frame, text='Eingabe', relief='raised', command=self.number).grid(row=1, column=0, padx='1',
pady='1',
sticky='w')
Button(entry_frame, text='Quit', relief='raised', command=self.reset).grid(row=1, column=1, padx='1', pady='1',
sticky='w')
entry_frame.pack()
l1 = Sport()