s n h m r u
i

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.

Anwendungsfenster

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.

Anwendungsfenster

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 *
from tkinter import filedialog
# 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.

Suche

v
9.1.4.13.3
dev.inf-schule.de/software/gui/entwicklung_tkinter/fensterdialoge/dialogfenster
dev.inf-schule.de/9.1.4.13.3
dev.inf-schule.de/@/page/0Fh15HweoqpzusUn

Rückmeldung geben