GuiDesigner mit neutralem Format und was dann?

Fragen zu Tkinter.
Antworten
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

cofi hat geschrieben:
Alfons Mittelmeyer hat geschrieben:Braucht jemand dieses System? Man kann dann bei gleicher GUI Syntax in allen Programmiersprachen Tk programmieren, indem man das GUI System unter Python mit DynTkX laufen läßt.
Da du wohl alle vergrault hast: Niemand braucht das. Warum soll man denn auf eine Art JSON ausweichen und dabei die Unterstuetzung der jeweiligen Sprache (Syntax- & Namensueberpruefung mit sinnvollen Fehlermeldungen, ...) verzichen?
Der Vorschlag war ein _DATEN_format, keine alternative Syntax.
Schau dir doch mal bitte das schon so oft angesprochene Qt an und wie ui Dateien mit den Designer erstellt und zB in Python verwendet werden.
Ich weiß nicht, was Du willst. Anscheinend willst Du kein Datenformat, weil man darauf eine alternative Syntax errichten kann.

Wenn man statt:

Code: Alles auswählen

function('name',**{kwargs})
schreibt:

Code: Alles auswählen

['function_id',['name',{kwargs}]]
dann ist das vollständig JSON kompatibel. Wenn es Dir nicht gefällt, dann schlag doch Du etwas anderes vor! Aber bitte keine Ratschläge, ich solle mir Qt ansehen. Denn wenn ich dann wieder etwas vorschlage, gefällt es Dir wahrscheinlich auch nicht.

Mein Vorschlag wäre, ich sehe im GuiDesigner zwei Menüpunkte vor - einen zum Speichern und einen zum Laden, die auf eine Config Datei zugreifen. Und da kann dann jeder zwei Scripte eintragen, welche die Daten so speichern und laden, wie sie es gerne haben möchten.
Ich kann ja zwei Musterscripte für Speichern und Laden mitliefern, die dann jeder auf seine Bedürfnisse anpassen kann!

Natürlich will ich Erfindergeist keine Grenzen setzen. Wenn jemand nicht schreiben will:

Code: Alles auswählen

mybutton.config(bg = 'green')
Sondern lieber:

Code: Alles auswählen

mybutton.config(bg='<color>green</color>')
ja, warum nicht? Kann man natürlich jederzeit überschreiben. Wenn ich das so abspeichern soll, muss man mir nur sagen.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

Bzw. macht euch einfach ein Script, welches ein Dictionary **{'bg':'green'} als Parameter so ausgibt.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@Alfons Mittelmeyer: Du hast den Kern von cofis Anmerkung verfehlt. In einem Datenformat haben Funktionsaufrufe, egal, ob die nun in irgendwelchen Strukturen codiert sind oder nicht, nichts zu suchen.
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

@Sirius3 Dann kann man eben nichts machen. Die Information, dass etwas ein 'Button' ist, sorgt ja schon dafür, dass man danach Button aufrufen kann.

Und Parameter in XML Form ändert nichts daran, dass es dann immer noch Funktionsparameter sind.

Der Unterschied, den ich festgestellt hatte, war lediglich der, was ich Schritt für Schritt hintereinander gemacht hatte und dabei goIn() und goOut() benutzt hatte, macht man bei einer Childrenliste mit einer Schleife.

Wenn man allerdings meint, der GuiDesigner soll intern auf einem Datenformat arbeiten, wie es andere Programme auch tun: Das Prinzip dieses GuiDesigner ist ein ganz anders. Wenn man bei grid für row den Wert '10' eingibt, dann führt der GuiDesigner einfach einen tkinter Funktionsaufruf aus: this().grid(**{'row':'10'}) und merkt sich überhaupt keine Daten, lediglich this().Layout = GRIDLAYOUT. Die braucht man sich auch nicht zu merken, sondern bekommt sie jederzeit mit this().grid_info()

Und wel er so arbeitet, beherrscht dieser GuiDesigner auch das Grid-Layout.
Antworten