[python-de] GUIs und GUI-Builder

Christian Tismer tismer at appliedbiometrics.com
Sat Feb 27 18:24:16 EST 1999



Georg Mischler wrote:
Status: RO

> 
> Christian Tismer schreibt:
> > "Martin v. Loewis" wrote:
> > > Die Python-Philosophie (die von C und C++ geteilt wird :-) ist da
> > > schon besser: Es gibt Leute, die Sprachen entwickeln, Leute, die
> > > GUI-Bibliotheken entwickeln, und die Leute, die sich von jedem eins
> > > aussuchen und es zusammenbringen.
> >
> > Die Sicht gefällt mir. Wenn man jetzt mit letzteren diskutierten,
> > um für sagen wir 3 Plattform das jeweils "beste", d.h. der Plattform
> > angemessenste, aber noch immer schlanke zu finden, dann könnten
> > wir drei "Standards" für Python anbieten, und das wär's.
> 
> Und wenn ich alle drei (vier, fuenf...) Plattformen bedienen
> will, dann
> muss ich das GUI drei mal schreiben? Oder wie meinst Du das?

Ich glaube nicht, wenn man es schafft, einen minimalen Kernel
zu schreiben, der das plattformspezifische Verfeinern nicht
behindert.

> 
> > Mein Ziel wäre es also, einiges Sinnvolles in eine Art Kernel
> > zu packen, auf einer Ebene, die anderes nicht behindert.
> > Ebenso kann ich mir eine Handvoll Minimalwidgets vorstellen,
> > die man auf jeder Plattform irgendwie hinkriegt.
> 
> Was genau macht Tk deiner Meinung nach hier falsch?

Eigentlich möchte ich mich genau auf diese Diskussion 
nicht einlassen, dann landen wir nämlich genau da wo
die GUI-Sig gestorben ist.

Aber mach doch mal folgendes unter Windoze:
Alt-Enter über dem Tcl-Programmdirectory zählt
Dir 5.47 MB auf. Ganz schön heftig.

Dann schau Dir unter Windows die Demos der Widget-Tour an, 
oder besser zeige sie einem Delphi/VB-Programmierer.
Das 15-Puzzle-Demo ist ja niedlich.
Alles andere sieht irgendwie so-so aus, eher nach Windows 3.1 .

Als Reaktion auf das "A ruler with adjustable tab stops" kam
"ja aber das Dreieck ist ja noch nicht mal ein Dreieck!".
Und so ist es.

Ergo: Was auch immer ich machen will, braucht Bitmaps und
viel Trickserei, damit es "ordentlich" aussieht. Bei dem
Solitär-Spiel in Python/Tcl/Tk ist das übrigens sehr gut 
gelungen.

> > Wenn man möchte, kann man seine Applikation jetzt plattform-
> > -spezifisch diversifizieren. Die eine hat Drag&Drop, die
> andere
> > was-weiß-ich, an der Stelle kann's meinethalben durchaus
> > auseinanderlaufen, das ist gut so.
> 
> Hmmm.... Meinst Du das wirklich? Oder meinst Du nicht eigentlich:
> "Wenn es gar nicht anders geht, dann waere ich eventuell bereit, auf
> der einen oder andeen Platformen auf einzelne features zu verzichten" ?

Nein, meine ich so.
Wenn die Windows-Spezialisierung mir erlaubt, flippige Buttons
zu machen, die man herumdraggen kann und anders anordnen,
heißt das noch lange nicht, daß ein Benutzer einer anderen
Plattform das überhaupt will.
Ich habe dieses Feature gerade in einem Delphi-NS-Plugin
benutzt, und es ging (wegen Delphi halt), ohne daß ich
meinen Code ändern mußte. Knöppe blieben Knöppe, nur
daß sie halt etwas mehr können als mein Programm weiß.

> > Aber mit dem Minimal-Kern könnte ich auch schon etwas bauen, und
> > per Default sähe das je nach Plattform halbwegs "richtig" aus.
> >
> > Um nicht mißverstanden zu werden: Tcl/Tk versucht das, aber ich
> > find's so nicht richtig. Viel zuviel Holz, falsches Konzept.
> 
> Ich wiederhole nochmal meine Frage von oben: Was genau ist daran falsch?

Ich habe die Quellen nicht gelesen, aber wxPython
schafft in einem Bruchteil an Ballast etwas wesentlich
Ansehnlicheres.
Sam Rushing's dynwin (leider zur Zeit auf Eis) hat verschwindend
wenig Code und sieht Klasse aus. Allerdings versucht es nicht
so viel zu sein wie die Anderen bis jetzt.

Die wirklichen Designfehler in Tcl/Tk mögen bitte
die Leute angeben, die wirklich etwas davon verstehen.
Ich habe lediglich aus der User-Sicht geurteilt. Ich
möchte keinen dicken Moloch, der nur mühsam zu dem
zu überreden ist, was mein Anwender haben möchte.
Sagt mir, das ist prinzipiell daneben gelaufen.

> > Ich geb's nicht auf, man kann *doch* was machen. Oder?
> 
> Damit kein falscher Eindruck entsteht: Ich bin auch nicht mit
> Tk(inter)
> verheiratet (die meisten meiner Programme allerdings schon).
> Auch ich wuerde eigentlich die 200 % Loesung vorziehen, aber
> hier und jetzt ist mir der Spatz in der Hand lieber... Und bei
> allen
> Maengeln, das interessanteste was man ueber Tkinter auch im
> jetzigen Zustand sagen kann ist: Es funktioniert.

Das ist unbedingt wahr. Gehen tut's wirklich.
Habe auch nichts gegen Spatzen in der Hand, wenn sie weniger
als ein Pfund wiegen :-) 

> Ich halte es nicht fuer sinnvoll, nochmal bei null anzufangen.
> Der vielversprechendste Ansatz waere wohl, die
> Tkinter-Schnittstelle
> zu nehmen, und im Hintergrund die stoerenden Faktoren einzeln
> zu beseitigen. Dies kann durch zusaetzliche Funktionalitaet, durch
> Reduzierung der Komplexitaet (Tk ohne Tcl), oder im Extremfall durch
> Ersatz der Bibliothek (z.B gelegentlich uiToolkit) erreicht werden.
> Wenn ich mich nicht irre, dann sitzen im Moment auch schon eine
> ganze Reihe Leute an genau diesen Aufgaben. Wird schon noch :)

Was schätzt Du, um wieviel kleiner und schneller
es dadurch würde?
Was ist mit dem grundlegenden Graphikmodell?
Ich habe die Vermutung, daß da ganz unten
wichtiges vergessen oder falsch gemacht wurde?

Kann man eine Linie mit Anti-Aliasing ziehen, sodaß
sie ordentlich aussieht? Wann genau werden Koordinaten
auf Pixel gerundet und wann nicht? Wenn man hier
frühzeitig eine Fehlentscheidung im Konzept hat,
wird späteres Nachbessern zur Qual.

Wie gesagt, ich bin kein Tk-User, und dies sind nur Vermutungen.

ciao - chris

-- 
Christian Tismer             :^)   <mailto:tismer at appliedbiometrics.com>
Applied Biometrics GmbH      :     Have a break! Take a ride on Python's
Kaiserin-Augusta-Allee 101   :    *Starship* http://starship.python.net
10553 Berlin                 :     PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint       E182 71C7 1A9D 66E9 9D15  D3CC D4D7 93E2 1FAE F6DF
     we're tired of banana software - shipped green, ripens at home



__________________________________________________
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