GUI-Editor für TK gesucht

Moderator Persönliche Seite #1955786
Lesenswert?

Uhu Uhuhu schrieb:

> Ich suche was, womit ich die graphischen Elemente für ein GUI
> zusammenklicken kann, [...]

OK, das ist das, was ich als "application builder" kenne.

> Wo finde ich denn XF?

Gugel meint:

ftp://ftp.tcl.tk/pub/tcl/mirror/ftp.procplace.com/sorted/packages-7.6/gr 
aphics/xf4.0/xf/index.html

Gugel spuckte mir dabei nebenbei noch aus, dass es "tkproe" (auf
sourceforge) gibt, das offenbar in die gleiche Kategorie fällt.
Keine Ahnung, ob es was taugt.  Der einzige application builder,
den ich bislang erlebt habe und der einen nicht sofort dazu bringt,
am Ende doch gleich alles mit der Hand zu zimmern, ist der von Qt.
OP #1956762
Lesenswert?

Als reiner Resourcen-Editor taugt das Ding nicht, denn so viel ich 
gesehen habe, bildet es nur eine Klickschicht zwischen TK und dem User.

Ich hatte gehofft, daß man sich damit nicht weiter mit der 
TK-Philosophie beschäftigen muß, sondern einfach so ähnlich wie bei den 
Resource-Editoren unter Windows was graphisch entwerfen kann und zum 
Schluß ein Resource-Skript bekommt.

Letztlich ist es für kleine Sachen einfacher, das GUI aus Beispielen 
zusammenzupasten.

Eigentlich ist TK sehr simpel. Das Problem ist eher, einen Einstieg zu 
finden, der einen nicht mit ewig viel Bla-blah zuschwallt und darüber 
wesentliche Kleinigkeiten vergißt.
Moderator Persönliche Seite #1956816
Lesenswert?

Das Wichtigste, was man bei Tk verstanden haben muss, ist die Funktion
der Geometrie-Manager.  Die bestimmt im Großen und Ganzen auch, in
welcher Weise man die Widget-Hierarchie aufbauen muss, damit das
Layout am Ende die gewünschte Funktion bekommt.  In dieser Beziehung
ist Tk etwas "popelig": man muss oft genug noch einen Container mehr
dazwischen schieben, damit sich die Applikation am Ende auch
vernünftig in der Größe ändern lässt.

Ein Manko zumindest von XF war (und ist es vermutlich nach wie vor),
dass es gleich den fertigen Code schreiben will.  Damit muss man den
dann hinterher auch wieder einlesen, ohne aber den Nutzercode dabei
zu zerstören.  Dieser Spagat funktioniert nur bedingt, und ab einer
bestimmten Entwicklungsstufe kannst du eigentlich nur noch den
Sourcecode selbst editieren.

Keine ahnung, wie TKproE in dieser Hinsicht ist.  Andere application
builder wie Qt's designer oder GTK's glade speichern die Konfiguration
separat in einer eigenen Datei, das funktioniert in der Praxis besser.
Qt hat auch nicht so viel Kuddelmuddel mit dem Geometriemanagement
wie Tk, die kommen mit viel weniger zwischengeschobenen Containern
aus.
Moderator Persönliche Seite #1956938
Lesenswert?

Jörg Wunsch schrieb:
> Das Wichtigste, was man bei Tk verstanden haben muss, ist die Funktion
> der Geometrie-Manager.  Die bestimmt im Großen und Ganzen auch, in
> welcher Weise man die Widget-Hierarchie aufbauen muss, damit das
> Layout am Ende die gewünschte Funktion bekommt.  In dieser Beziehung
> ist Tk etwas "popelig": man muss oft genug noch einen Container mehr
> dazwischen schieben, damit sich die Applikation am Ende auch
> vernünftig in der Größe ändern lässt.

Das war in den Anfangszeiten so - wobei der Packer auch Vorteile hat.

Für übliche Dinge (wie Dialogfenster) benutzt aber schon lange den 
Grid-Manager.

Place gibt es auch noch, will man aber meist nicht wirklich.

Ich habe Dinge wie TkProE und wie sie alle hießen, nie benutzt - per 
Skript bin ich deutlich schneller und da Änderungen zur Laufzeit kein 
Problem sind ...

Wenn das dann so aussieht, wie ich es haben will, einfach Skript 
aufrufen, das die Parameter der Elemente ausliest und diejenigen, die 
von den Voreinstellungen abweichen, ausgibt - fertig. Schon hat man 
seine "Ressourcendatei".

Bei mir ist Tk sozusagen sein eigener Ressourceneditor :-)

Chris D.
Moderator Persönliche Seite #1956978
Lesenswert?

Uhu Uhuhu schrieb:
> Gibts irgendwo eine schöne kompakte Einführung in TK?

Ich hab damals mit dem "Original" von Ousterhout gelernt - das ist 
heutzutage aber etwas veraltet.

Ein Muss ist meiner Meinung nach das Buch von Welch/Hobbs
"Practical Programming in Tcl and Tk". Viele Beispiele und gut gelungene 
Einführungen.

Online ist wohl dieses Tutorium ganz brauchbar:

http://www.tkdocs.com/tutorial/index.html

Ansonsten wühl Dich mal durch wiki.tcl.tk - da gibt es tonnenweise 
Beispiele und weitere Links.

Viel zu lernen ist an Tcl selbst eigentlich nicht - die Sprache ist so 
einfach und orthogonal aufgebaut, dass im Prinzip alles, was man wissen 
muss, auf eine DIN-A4-Seite passt.

Chris D.

Edit: Ähm, der Link der aus dem Buchtitel generiert wird, ist natürlich 
veraltet - das Buch gibt es bereits in neuerer Auflage.
Moderator Persönliche Seite #1957016
Lesenswert?

Jörg Wunsch schrieb:
> Chris D. schrieb:
>> Für übliche Dinge (wie Dialogfenster) benutzt aber schon lange den
>> Grid-Manager.
>
> OK, da habe ich dann schon kaum noch Tk gemacht, als der aufkam. ;-)

Verräter! Den gibt es aber schon seit 1996 ;-)

> Hast du dafür ein kurzes Beispiel parat?

Kurze Einführung: http://www.tkdocs.com/tutorial/grid.html

Prinzip ist, dass die Fläche durch ein Gitter ("Ach?" ;-) unterteilt 
wird. Man kann dann Zellen zusammenfassen, in der Breite festlegen oder 
flexibel halten, Elemente rechts, links, oben unten "festkitten" usw.

Im Prinzip das, was man sich für XHTML und CSS wünschen würde seufz

Chris D.
Moderator Persönliche Seite #1957039
Lesenswert?

Chris D. schrieb:

> Kurze Einführung: http://www.tkdocs.com/tutorial/grid.html

Danke!  Da steht auch die Erklärung, warum man grid früher nicht
groß kannte:

Grid was first introduced to Tk in 1996, several years after Tk became 
popular, and took a while to catch on. Before that, developers had 
always used "pack" to do constraint-based geometry management. When grid 
came out, many developers kept using pack, and you'll still find it used 
in many Tk programs and documentation. While there's nothing technically 
wrong with it, the algorithm's behavior is often hard to understand. 
More importantly, because the order that widgets are packed is 
significant in determining layout, modifying existing layouts can be 
more difficult.
Moderator Persönliche Seite #1957157
Lesenswert?

Jörg Wunsch schrieb:

> Danke!  Da steht auch die Erklärung, warum man grid früher nicht
> groß kannte:
>
> Grid was first introduced to Tk in 1996, several years after Tk became
> popular, and took a while to catch on. Before that, developers had
> always used "pack" to do constraint-based geometry management. When grid
> came out, many developers kept using pack, and you'll still find it used
> in many Tk programs and documentation. While there's nothing technically
> wrong with it, the algorithm's behavior is often hard to understand.
> More importantly, because the order that widgets are packed is
> significant in determining layout, modifying existing layouts can be
> more difficult.

Ja :-) Der Mensch ist einfach ein Gewohnheitstier, oder:

"Watt der Bauer nit kennt, datt frisster nich'!"

Wirklich umgestiegen bin ich auch erst 1998.

Chris D.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren