30.12.2012 Aufrufe

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

194<br />

Programmierung graphischer Benutzerschnittstellen mit <strong>Tcl</strong>/<strong>Tk</strong><br />

Anmerkung: Das Beispiel ist zwar ein rollbares Formular, aber kein<br />

„blätterbares“. Es reagiert nicht auf die „Bild-hoch“/„Bild-runter“<br />

(PageUp/PageDown)-Tasten. Zusätzlich würde man sich dann auch eine<br />

Anzeige „Seite 3 von 7“ wünschen, ggf. spezielle „nächste Seite“/„Seite<br />

zurück“-Knöpfe am Fenster.<br />

9.3 Eine Fortschrittsanzeige<br />

Eine Fortschrittsanzeige (process gauge) soll verdeutlichen, wie man partiell<br />

Anzeigeteile verändert und andere intakt läßt. Man kann sie verwenden,<br />

wenn Web-Seiten geladen werden oder der Fortschritt rechenintensiver<br />

Abläufe signalisiert werden soll.<br />

Dazu legen wir eine Leinwand an mit zwei Items: ein Textitem für die<br />

Prozentzahl (zwischen 0 und 100), versehen mit Marke value, und ein<br />

Rechteck für den Balken mit Marke bar.<br />

Für die Erzeugung rufen wir gauge_create mit einem Namen für<br />

das ganze Gebilde und einer optionalen Farbe für den Balken auf.<br />

proc gauge_create {win {color ""}} {<br />

frame $win -class Gauge<br />

set len [option get $win length Length]<br />

canvas $win.display -borderwidth 0 -background white \<br />

-highlightthickness 0 -width $len -height 20<br />

pack $win.display -expand yes<br />

if {$color == ""} {<br />

set color [option get $win color Color]<br />

}<br />

$win.display create rectangle 0 0 0 20 \

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!