tkinter fenster verschiedene buttons automatisch 2
Verfasst: Mi Mai 23, 2018 2:14 pm
Code: Alles auswählen
-*- coding: utf-8 -*-
from tkinter import *
import numpy as np
import matplotlib.pyplot as plt
show_plot = False
buttonabstand = 20
button = [0, 'Beispiel eins', 'Beispiel zwei', 'Beispiel drei',
'Beispiel vier', 'Beispiel fünf', 'Beispiel sechs']
farben = [0, '#FAFAD2', '#FFC0CB', '#66CDAA', '#87CEFA', '#E0EEE0', '#EECBAD']
tkFenster = Tk()
tkFenster.title('Haupt Fenster')
tkFenster.geometry('400x400')
def buttonhauptClick(titel):
def buttonOkClick():
tkFensterhaupt.quit()
tkFensterhaupt.destroy()
tkFenster.mainloop()
tkFensterhaupt = Toplevel()
tkFensterhaupt.title(titel)
tkFensterhaupt.geometry('800x600')
buttonOk = Button(master=tkFensterhaupt, text='Quit', command=buttonOkClick)
buttonOk.place(x=740, y=570, width=30, height=20)
def buttonxxClick():
tkFenster.quit()
tkFenster.destroy()
def getButtonCallback(t):
return lambda: buttonhauptClick(t)
for buttonplatz in range(1,7,1):
buttonabstand=buttonabstand+40
buttonplatz = Button(master=tkFenster, bg=farben[buttonplatz], text=button[buttonplatz],
command=getButtonCallback(button[buttonplatz]))
buttonplatz.place(x=54, y=buttonabstand, width=100, height=27)
buttonxx = Button(master=tkFenster, text='Quit', command=buttonxxClick)
buttonxx.place(x=540, y=360, width=30, height=20)
tkFenster.mainloop() # Aktivierung des Fensters In diesem Beispiel wird ebenfalls ein tkinter-Fenster mit mehreren Buttons automatisch erzeugt.
Diesmal jedoch in eine For-Schleife, die den Namen und die Farbe der Buttons setzt (Aus Listen Argumenten).
Das gerufene Fenster erhält jetzt über die lambda Funktion den Namen des Buttons zur Laufzeit und zeigt diesen als Titel des Unterfensters an.
Am Beispiel 4.
Hauptfenster

Unterfenster
