Die Kommandozeile macht sich schön
Einführung in Tcl/Tk, Teil 3
Auf Knopfdruck
Der Befehl, um einen Button zu erzeugen, besteht aus dem Kommando button und dem Namen des Knopfs. Ohne Aufschrift sind Buttons aber einigermaßen sinnlos, daher sollten Sie auch noch die Option -text Aufschrift verwenden. Ein Kommando bekommen die Buttons jetzt noch nicht mit auf den Weg. Das erhalten sie erst im vierten GUI-Entwicklungsschritt, wenn das GUI genauso aussieht wie es soll.
button .renderKnopf -text Rendern button .anzeigeKnopf -text Anzeigen
Dann übergeben Sie die Buttons dem packer. Sie sollen Kinder des unteren Frames werden, daher ist die Option -in Eltern-Widget nötig. Um die Buttons in einer Reihe anzuordnen, geben Sie die Option -side left mit. Damit die Knöpfe die ganze Framebreite füllen, reicht diesmal die Option -fill x nicht aus. Sie müssen zusätzlich noch -expand yes mitgeben, um die Buttons mitwachsen zu lassen, wenn die anderen, später gefüllten Frames breiter werden.
pack .renderKnopf -in .untererRahmen \
-side left -fill x -expand yes
pack .anzeigeKnopf -in .untererRahmen \
-side left -fill x -expand yesAlles Gute kommt von oben
Widmen wir uns jetzt der Menüzeile. In ihr liegt links ein Menübutton, von dem aus ein Pull-Down-Menü herunter geklappt wird, wenn die Nutzerin mit der Maus darauf klickt.
Definieren Sie zunächst den Menübutton wie einen "ganz normalen" Button mit Aufschrift, ergänzen dann aber eine weitere Option -menu Pull-down-Menue-Name. Das Pull-Down-Menü ist ein Kind des Menübuttons, sein Name muss von diesem abgeleitet sein, also aus zwei Teilen bestehen: dem Namen des Buttons und dem des Menüs.
Danach erzeugen Sie das Menü durch den Befehl menu Pull-down-Menue-Name. Am Ende ergänzen Sie es mit Pull-down-Menue-Name add Eintrag um die einzelnen Einträge, die Befehle (command) oder Trennstriche (separator) sein können.
Bei Menü-Einträgen wird die Aufschrift, abweichend von der Definition bei Buttons, mit der Option -label Aufschrift fest gelegt.
Obwohl eigentlich erst in Teil 4 an der Reihe – Ausnahmen bestätigen Regeln –, fügen Sie schon einmal eine Funktion hinzu: das Kommando zum Beenden Ihres Programms mit -command Kommando.
menubutton .dateiKnopf -text Datei \
-menu .dateiKnopf.herunterklappMenue
menu .dateiKnopf.herunterklappMenue
.dateiKnopf.herunterklappMenue add command \
-label "Szenendatei wählen ..."
.dateiKnopf.herunterklappMenue add separator
.dateiKnopf.herunterklappMenue add command \
-label "Beenden" -command exitDie Anzeige des Pull-Down-Menüs wird vom Menübutton übernommen und muss nicht extra veranlasst werden. Ihren Menübutton hingegen müssen Sie noch einem Geometrie-Manager übergeben. Auch hier bietet sich der packer an.
pack .dateiKnopf -in .obererRahmen -side left



