Dialogfenster
Hinweis
Tkinter stellt für zahlreiche Standarddialoge Hilfsmittel bereit. Wir betrachten hier nur einen dieser Standarddialoge. Weitere Gestaltungsmöglichkeiten musst du in einem Nachschlagewerk recherchieren.
Ein Datei-Dialog
Wir betrachten eine grafische Benutzeroberfläche mit einem Textfeld.
Wenn der Benutzer die Schaltfläche mit der Beschriftung "speichern" anklickt, dann soll sich ein Dialogfenster zum Speichern öffnen und den Benutzer bei der Festlegung des Speicherorts und Dateinamens unterstützen.
Entsprechend soll der Benutzer beim Laden einer Datei unterstützt werden, wenn er die Schaltfläche mit der Beschriftung "laden" anklickt.
Das folgende Programm zeigt, wie man solche Dialogfenster auf einfache Weise erzeugen kann.
from tkinter import *
# Ereignisbehandlung
def buttonLadenClick():
datei = filedialog.askopenfile()
textfeld.delete('1.0', 'end')
if datei:
textfeld.insert(1.0, datei.read())
datei.close()
def buttonSpeichernClick():
datei = filedialog.asksaveasfile()
if datei:
datei.write(textfeld.get('1.0', 'end'))
datei.close()
# Fenster
tkFenster = Tk()
tkFenster.title('BMI')
tkFenster.geometry('300x240')
# Text
textfeld = Text(master=tkFenster, width=32, height=12, wrap='word')
textfeld.place(x=8, y=8)
scrollbar = Scrollbar(master=tkFenster)
scrollbar.place(x=280, y=8, width=10, height=197)
textfeld.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=textfeld.yview)
# Programm laden
buttonLaden = Button(master=tkFenster, text='laden', command=buttonLadenClick)
buttonLaden.place(x=8, y=215, width=90, height=20)
# Programm speichern
buttonSpeichern = Button(master=tkFenster, text='speichern', command=buttonSpeichernClick)
buttonSpeichern.place(x=106, y=215, width=90, height=22)
# Aktivierung des Fensters
tkFenster.mainloop()
Aufgabe 1
Teste das Programm.