[python-de] Neu

Thomas Levy thomas.levy at d2privat.de
Thu Oct 22 11:01:03 EDT 1998


Status: RO

Hallo Markus,

> > ich bin seit 2 Stunden neu in dieser Liste.
> > Bisher kamen zwar noch keine Mails an, aber ich denke mal, um die Zeit
> > arbeiten wahrscheinlich die meisten noch nicht...
> Willkommen!
Danke :-)

> Der Traffic auf der Liste war in letzter Zeit eher gering; aber es sieht
> so aus, als koennte sie doch wieder zum Leben erweckt werden.... :-)
Wundert mich, ich stell ne Frage und gleich kommen massenhaft Antworten,
aber 
keine einzige Mail zu nem anderen Thema.

> Das mag sich nach Besserwisserei anhoeren, aber meist ist es durchaus
> moeglich, ein grosses Dialogfeld (z.B. mit Hilfe von Reitern/Pmw) logisch
Was ist denn nun dieses Pmw? Hab ich auch gestern schon empfohlen
bekommen.
Aber es ist nicht sinnvoll moeglich.
In diesem speziellen Dialog handelt sich um ein GUI-Frontend fuer
Datenbank-
Zugriffe.
Das Fenster enthaelt drei Frames, einen oben, da werden die
Datenbank-Tabellen
ausgegeben. Unten rechts einer mit Buttons und unten links ist unser
Problem-
Kind.
Da liegt ein Canvas drin. Fuer jedes Feld in der Tabelle gibt es einen 
Button, an den ein Pop-Up gebunden ist. Dadurch kann man die Reihenfolge
aendern,
das PopUp enthaelt alle Spalten der Datenbank. Dahinter kommt nochmal
dasselbe,
wo man Kriterien wie ">", "<" und sowas auswaehlen kann, daneben dann
noch ein 
Entry-Field, wo man den Wert eingeben kann. Man kann jetzt beliebige
Spalten aus-
waehlen, bei beliebigen davon Kriterien auswaehlen und dann danach
suchen u.ae.
Du kannst Dir vorstellen, dass z.B. unsere Kundendaten-Datenbank
verdammt gross
ist und wir keine Lust mehr haben, mit isql zu basteln.
Unsere Tabellen koennen halt schonmal so 30-40 Spalten haben, da wollen
wir halt
diese Buttons scrollbar machen.
Von der Hoehe her soll sich das Canvas an den Frame unten rechts (mit
den Buttons)
anpassen, bloss von dem kriegen wir halt die Hoehe nicht raus.
Und die scrollregion muss man ja irgendwie aus der Anzahl untereinander
liegender
Buttons im Canvas errechnen koennen, aber das kriegen wir nicht raus.

> zu zerlegen. Und spaetestens dann, wenn zu einer ansonsten prallvollen
> Bildschirmmaske spaeter noch etwas dazugefuegt werden soll (was nicht
> selten auch "mal eben schnell" moeglich sein muss), ist es sehr hilfreich,
> wenn man die Maske etwas "modularer" aufgebaut hat. (Es kann insbesondere
> auch sinnvoll sein, eine Maskenbeschreibung nicht "hart" einzuprogrammieren,
> sondern in eine Beschreibungs-Datei auszulagern oder zumindest wieder-
> kehrende Teile dynamisch zu erzeugen.)
Das ganze wird dynamisch erzeugt. Man kann ueber ein Menue den
Datenbank-Server,
die Datenbank und die Tabelle waehlen und dann werden die Spalten
eingelesen und
dynamisch die Buttons aufgebaut.

> > Und zwar fragen wir uns, wie wir die Hoehe des Canvas, also die
> > Scrollbare Region bestimmen.
> Das ist ziemlich schwierig. Die Groesse der Widgets ist i.d.R. erst *nach*
> dem "Mapping", also der Darstellung auf dem Bildschirm, bekannt. Ausserdem
Dann kann man es doch irgendwie vielleicht erst darstellen und danach
die 
scrollregion setzen?

> Evtl. eignet sich auch das "text"-Widget, in dem man auch Widgets einbetten
> kann - aehnlich wie beim Canvas ruckelt das natuerlich auch ziemlich beim
> Scrollen. Beim "text"-Widget werden eingebettete Widgets wie beim Zeilen-
> umbruch des Textes mit umgebrochen. Das Scrolling ist nur zeilenweise
> moeglich; d.h., es ist hier nicht sinnvoll, die ganze Maske als riesigen
> Frame ins Text-Widget zu packen (weil man dann nicht mehr scrollen kann),
Wie kann man die Buttons ins Text-Widget setzen?

> (Die vorher aktive Ansicht muss dann jeweils mit "pack/forget" wieder
> ausgeblendet werden.) Das Besondere dabei ist, dass trotz "forget" die
> Widgets zwar ausgeblendet, aber ansonsten komplett erhalten bleiben (inkl.
> Inhalten), und bei einem spaeteren "pack" einfach wieder angezeigt werden
> koennen. (Ich hoffe, dass man das verstehen konnte. Ansonsten bitte ich
> bei Interesse ggf. um Nachfrage per E-Mail.)
Das nutzen wir schon, um am unteren Rand eine Status-Zeile auszugeben,
die auch
unten bleibt, wenn zwischendrin Widgets eingefuegt werden.

> (Uebrigens beziehe ich meine Tk-Erfahrung aus der Arbeit mit Tcl/Tk;
> mit Tkinter habe ich noch nicht viel gemacht. Die Funktionalitaet
> sollte die gleiche sein, aber die genaue Tkinter-Syntax kenne ich
> ohne Nachschauen nicht. [BTW ist "Das Python-Buch" (von Martin von
> Loewis und Nils Fischbeck) dafuer, speziell auch was Tkinter angeht,
> exzellent geeignet.])
Das haben wir hier, halte ich nicht fuer so toll, weil es 
a) recht unstrukturiert ist und
b) als Nachschlagewerk nicht zu gebrauchen ist.
Aber es ist halt das einzige deutsche Buch, was ich kenne.
Wir haben hier noch das von O'Reily, aber das benutze ich lieber zum 
Nachschlagen, zum Lernen habe ich lieber deutschsprachige Literatur.

Tom

-- 
Mannesmann Mobilfunk GmbH    Tel..............: 0211/533-2004
Thomas Levy                  Fax..............: 0211/533-2584
Abteilung Systembetrieb      eMail..: thomas.levy at d2privat.de
Am Seestern 1                             
40547 Duesseldorf




__________________________________________________
Python-de Liste  -  python-de at starship.skyport.net
http://starship.skyport.net/mailman/listinfo/python-de




More information about the Python-de mailing list