Home / LinuxUser / 2000 / 08 / Einführung in Tcl/Tk, Teil 3

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Google schmeißt Jabber raus ...
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Die Kommandozeile macht sich schön

Einführung in Tcl/Tk, Teil 3

Strukturelles

Wenn Sie den Prototypen anschauen, können Sie ihn nach der Organisation der Widgets in drei Bereiche unterteilen:

  • Oben die Menüleiste: Nur ein Widget auf einer Seite.
  • In der Mitte das Eingabefeld und die Skalen, jeweils mit der Beschriftung links daneben: Die Widgets sind in Zeilen und Spalten angeordnet.
  • Unten die beiden Knöpfe zum Rendern und Anzeigen: Die Widgets liegen nebeneinander.Wenn Sie diese drei Teile durch drei Frames herstellen, können Sie innerhalb der Rahmen die darin liegenden Widgets vom passenden Geometrie-Manager verstauen lassen. Für die nebeneinander stehenden Widgets ist der packer optimal, während sich für die Zeilen- und Spaltenstruktur in der Mitte der gridder besser eignet.

Rahmenhandlung

Nun kommt Teil Drei der GUI-Entwicklung: Das Programmieren der Oberfläche ohne Funktionen. Zuerst geht es darum, die Struktur des GUI mit Frames fest zu legen.

Frames sind die einfachsten Widgets: In der Grundform sind sie viereckig und unsichtbar und dienen dazu, andere Widgets als Kinder aufzunehmen und anzuordnen. Werden Frames mit zusätzlichen Optionen definiert, können sie allerdings doch noch ein dreidimensionales Aussehen annehmen und Gruppen von Widgets auch optisch voneinander absetzen.

Der Aufruf, der einen Rahmen erzeugt, ist denkbar einfach: Er besteht nur aus dem Befehl selbst und dem Namen des Frames, der wie alle Widgetnamen mit einem Punkt beginnen muss. Damit die Frames ein dreidimensionales Aussehen bekommen, können Sie die Option -relief Reliefart verwenden, wobei das Relief flat (flach), raised (erhaben), groove (mit einem kleinen eingesunkenen Rand) oder ridge (mit kleinem erhabenen Rand) sein kann. Um dieses Relief sichtbar zu machen, brauchen die Frames aber auch noch eine Kantenbreite, die Sie durch die Option -borderwidth Breite (Breite in Pixeln) festlegen.

frame .obererRahmen    -borderwidth 1 -relief raised
frame .mittlererRahmen -borderwidth 1 -relief raised
frame .untererRahmen   -borderwidth 1 -relief raised

Mit dem Hinzufügen dieser Zeilen zu Ihrer Programmdatei sind die Frames angelegt – sie müssen lediglich noch angezeigt werden. Da sie einfach untereinander angeordnet sind, bietet sich dafür der packer an. Übergeben Sie diesem Geometrie-Manager die drei Rahmen, und sagen Sie ihm mit der Option -side Richtung die Richtung, aus der er sie einfüllen soll.

Um Widgets nebeneinander anzuordnen, verwenden Sie left oder right, bei übereinander stehenden Widgets wird top oder bottom für Richtung eingesetzt.

Der packer macht aber jedes Widget nur so groß, wie es unbedingt sein muss. Ist das benachbarte Widget breiter, so bleibt Platz übrig, was Sie gut in Abbildung 3 sehen können. Wollen Sie hingegen, dass Ihre Widgets die zur Verfügung stehende Höhle gänzlichst ausfüllen, ergänzen Sie die Option -fill Richtung. Für Richtung kann x, y oder both angegeben werden.

pack .obererRahmen    -side top -fill x
pack .mittlererRahmen -side top -fill x
pack .untererRahmen   -side top -fill x

Sollten Sie jetzt ausprobieren, wie Ihr Programm aussieht, werden Sie wie in Abbildung 5 – fast – nichts sehen. Ihr Fenster ist nur so groß wie nötig und – da Frames selbst keinen Platz brauchen – beinahe verschwunden. Das wird sich ändern, wenn Sie nun andere Widgets hinein programmieren.

Abbildung 5: Unsichtbare Frames

Am einfachsten sind die Buttons, daher soll damit begonnen werden.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 130 Punkte (6 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...