Seite 1 von 1

tkinter fenster mit mehreren buttons

Verfasst: Fr Mär 30, 2018 6:34 pm
von gerhard-schrueffer
#

Code: Alles auswählen

 -*- coding: utf-8 -*-

from tkinter import *
import numpy as np
import matplotlib.pyplot as plt

def buttonsinusnClick():
        def buttonOkClick():
            tkFenstersinusn.quit()
            tkFenstersinusn.destroy()
            tkFenster.mainloop()
            
        tkFenstersinusn = Toplevel()
        tkFenstersinusn.title('Sinus Normal')
        tkFenstersinusn.geometry('800x600')

        buttonOk = Button(master=tkFenstersinusn, text='Quit',
                          command=buttonOkClick)
        buttonOk.place(x=740, y=570, width=30, height=20)

def buttonsinussClick():       
        def buttonOkClick():  # Ereignisbehandlung
            tkFenstersinuss.quit()
            tkFenstersinuss.destroy()
            tkFenster.mainloop()
        
        tkFenstersinuss = Toplevel() # Neues Fenster öffnen
        tkFenstersinuss.title('Sinus Symbol')
        tkFenstersinuss.geometry('800x600')
       
        buttonOk = Button(master=tkFenstersinuss, text='Quit',  # Button zum Schließen des Fensters
                          command=buttonOkClick)
        buttonOk.place(x=740, y=570, width=30, height=20)
        print("Test")

def buttoncosnClick():
        # Ereignisbehandlung
        def buttonOkClick():
            tkFensterFehler.quit()
            tkFensterFehler.destroy()
            tkFenster.mainloop()
        # Neues Fenster öffnen
        tkFensterFehler = Toplevel()
        tkFensterFehler.title('Cosinus Normal')
        tkFensterFehler.geometry('800x600')
      
        buttonOk = Button(master=tkFensterFehler, text='Quit',   # Button zum Schließen des Fensters
                          command=buttonOkClick)
        buttonOk.place(x=740, y=570, width=30, height=20)

def buttoncossClick():
        # Ereignisbehandlung
        def buttonOkClick():
            tkFensterFehler.quit()
            tkFensterFehler.destroy()
            tkFenster.mainloop()  # ist verantwortlich, dass alle Buttons beliebig gedrückt und Fenster geschlossen weren können, ruft immer wieder Haupt mainloop auf
        
        tkFensterFehler = Toplevel()  # Neues Fenster öffnen im Vordergrund
        tkFensterFehler.title('Cosinus Symbol')
        tkFensterFehler.geometry('800x600')
       
        buttonOk = Button(master=tkFensterFehler, text='Quit',  # Button zum Schließen des Fensters
                          command=buttonOkClick)
        buttonOk.place(x=740, y=570, width=30, height=20)
        print("Test")
    
tkFenster = Tk()   # Fenster
tkFenster.title('Verschiedene Beispiele')
tkFenster.geometry('500x200')  # Grössse Hauptfenster

def buttonquitClick():
    tkFenster.quit()
    tkFenster.destroy()
        
buttonsinusn = Button(master=tkFenster, bg='#FAFF75', text='Sinus normal',
                         command=buttonsinusnClick)
buttonsinusn.place(x=54, y=20, width=100, height=27)

buttonsinuss = Button(master=tkFenster, bg='#FAFF75', text='Sinus Symbol',
                         command=buttonsinussClick)
buttonsinuss.place(x=54, y=60, width=100, height=27)

buttoncosn = Button(master=tkFenster, bg='#D98775', text='Cosinus normal',
                         command=buttoncosnClick)
buttoncosn.place(x=54, y=100, width=100, height=27)

buttoncoss = Button(master=tkFenster, bg='#D98775', text='Cosinus Symbol',
                         command=buttoncossClick)
buttoncoss.place(x=54, y=140, width=100, height=27)

buttonquit = Button(master=tkFenster, text='Quit',  #  Hauptfenster
                  command=buttonquitClick)
buttonquit.place(x=440, y=170, width=30, height=20)

tkFenster.mainloop()  # Aktivierung des Fensters
Ein Beispiel mit verschiedenen Buttons, welche jeweils ein weiteres Fenster öffnen. Damit jeder einzelne Button korrekt und wiederholt angesprochen werden kann muss in den Definitionen nach Beendigung der aktuellen Aktivität immer wieder das Hauptfenster gerufen werden. tkFenster.mainloop()

Hauptfenster
Bild

Fenster über Button geöffnet
Bild