GUI Programmierung...

  • Hallo Community,

    Ich arbeite seit einigen Monaten an einem netten Projekt und habe bereits über 1800 gut lesbare Zeilen zusammengestellt. Aber wie so oft steht einem der persönliche Anspruch böse im wege, und ich fange an eine GUI rund um die vorhandenen Funktionen, sowie allen wichtigen Variablen zu basteln...
    Jetzt beläuft sich der Code schon auf über 2950 Zeilen, und es ist nichtmals Lauffähig... Das ist echt umfangreich... Inzwischen habe ich fast die selbe Zeit für die GUI wie für das eigentliche Programm benötigt.

    Im großen und ganzen muss ich sagen, das die GUI-Programmierung unterschätzt wird - gerade wenn es einigermassen Benutzerfreundlich aber auch umfangreich werden soll... Ausserdem ist auch der Faktor Zeit ausschlaggebend, diese ist bekanntermaßen begrenzt und wenn ich da nachts mich durch die Zeilen wühle bin ich mehr mit geistigen erfassen, dessen Auswertung und Planung - als mit Coden beschäftigt...
    Ich hoffe das ich mein Projekt in den nächsten Wochen ENDLICH fertigstellen kann :rolleyes:

    Habt Ihr auch solche Erfahrungen mit dem erstellen einer GUI gemacht??

    Grüsse!

  • An sich kenne ich das Problem was du beschreibst nicht ganz so gut :D
    Ich benutze für das Grundgerüst meistens den Koda Designer. Mein Problem ist nur, dass ich manchmal sachen hinzufüge und dann alle anderen Control-Positionen bzw. größen anpassen muss.
    Manchmal wird das dann ein wenig viel und dauert tatsächlich recht lange.
    Ich fands ganz cool, wenn man nen Bereich erstellen würde, in dem praktisch wie bei visual studio ne xml erstellt wird, welche das Fenster repräsentiert, wodurch man das Fenster dann immerwieder bearbeiten kann. Das fänd ich noch recht nützlich. Immer mit den Koordinaten zu arbeiten... starten, ne, 5 pixel weiter nach oben... nochmal starten, hmm. da fehlen noch 2 pixel,........ nervt ein wenig ;)

  • Moin moin,
    also ich kenne das Problem auch. Da hat man ein Programm geschrieben und weil man den Fokus auf die Funktion gelegt hat, nur so eine Test-GUI zusammengeklatscht. Dann will man nur noch eine vernünftige Oberfläche bauen - "2 Stunden und dann steht die" - und schon hat man das Fass ohne Boden.
    Ich benutze zwar ganz gerne Koda, das nimmt etwas Arbeit ab, gerät aber auch ziemlich schnell an seine Grenzen, sodass ich doch den Großteil der GUI von Hand erstellen muss.

  • gerade wenn es einigermassen Benutzerfreundlich aber auch umfangreich werden soll...

    Außerdem sollte es natürlich schön aussehen und absolut idiotensicher sein, d.h. jede Eingabe des Benutzers wird 3x überprüft und gegebenenfalls auf irgendwelche Standardwerte zurückgesetzt.

    Ach ja, wer erfreut sich daran nicht? :D

    AutoIt Version (Prod): 3.3.14.2

    AutoIt Version (Beta): 3.3.9.5

    ausgewählte Skripte: Chatbot, komplexe Zahlen (UDF)

    Einmal editiert, zuletzt von James (24. Mai 2014 um 11:41)

  • Hy,
    Ich benutze auch koda zum erstellen der GUI - dadurch fällt das designen leichter ABER sobald ich Contolls zufüge fängt der ärger wieder an... Momentan Arbeite ich mit nem Tab mit 5 Seiten und ich habe mir angewöhnt den Controll-Bezeichnungen die Tabseite zuzufügen "Tab1-Edit" so ist das erweitern etwas leichter.
    Aber durch den Progammumfang habe ich eine Abfrageschleife von fast 800 Zeilen... Füge ich eine Funktion zu, merkt man zur Laufzeit das es so nicht gut zu bedienen ist - und es müssen wieder Änderungen durchgeführt werden. Manchmal bin ich sogar gezwungen Änderungen an Funktionen durchzuführen welche nichts mit der Gui zu tun haben...
    So wird aus einem Konsolenprogramm mit laufenden Funktionen ein entstelltes Konstruckt - Nur weil ich gerne Laufzeitinformationen innerhalb der Gui anzeigen lassen möchte. Der Aufwand ist wirklich immens - bei geringfügigen Fortschritten.

    Und nach einem Monat habe ich mein laufendes Programm so verunstaltet, das ich mich frage ob ich die ganze Sache richtig angehe - oder mein Anspruch wirklich zu hoch ist... Wenn ich mir andere Programme anschaue welche eine Gui haben, frage ich mich wie lange die Entwickler alleine an der Bedinung der Oberfläche gesessen haben...

  • James:
    Das stellt auch ein grosses Problem da, Änderungen vom Benutzer erst beim Übernehmen wirklich zu Aktualisieren... Wurde noch nicht Übernommen aber bereits auf Ok gedrückt, müssen wieder Meldungen mit bestätigungen und anschliessender übernahme angezeigt und durchgeführt werden....
    Echt Ätzend

  • Im laufe der Entwicklung habe ich einfach feststellen müssen, das eine "kleine" Gui die konfiguration leichter fallen würde. Das programm selber war als Konsolenanwendung geplant, und ich dachte anfangs durch die Gui einfach die gewünschten Parameter übergeben zu können. Aber dann stellte ich fest das die Bedienung dürftig ist, ausserdem wollte ich auch noch über die Gui noch aktuelle Statusinfos erhalten und anzeigen können. Dann kamen noch 2 oder 3 weitere Programmfunkionen hinzu, welche auch noch in die Gui integriert werden sollten...
    Wie erwähnt basiert alles auf einer Konsolenanwendung - die bereits voll angepasst wurde, diese hat 14 Setting-Flags und 6 Basisfunktionen sowie noch 3 Unnötige-aber-Nette Zusatzfunktionen. Da ist einiges an Layoutarbeit nötig um alles erstmal iwo unterzubringen, anschliessend muss alles innerhalb der Gui auch wirklich so Funktionieren wie geplant, und dann soll es auch noch Benutzerfreundlich werden...

    Den ganzen Aufwand habe ich anfangs deutlich unterschätzt...

  • Es gab bisher noch kein einziges Projekt was ich realisiert habe dass zu 100% meinen persönlichen Vorstellungen entspricht. Wunsch und Realität gehen leider immer weit auseinander aufgrund der Zeit. Ich glaube die einzige Ausnahme sind eigene Projekte die ein reines Hobby darstellen.

    Daher gilt es bei der GUI Erstellung zwischendurch auch mal hinterfragen ob das realistisch ist (Aufwand/Zeit) und ob es denn wirklich benötigt wird.

    Grüße Yaerox

    Grüne Hölle

  • Hy,
    Genau das ist auch mein Problem... Ich hatte sonst immer nur das nötigste innerhalb von Guis realisiert, und der übrige Rest musste dann eben im Source geändert werden.
    Das möchte ich diesmal richtig machen! Ich sitze jetzt schon viele Monate an meinem Projekt und habe schon 140kb Source zusammengetragen, lauffähig ist dieser auch, nur ein paar Funktionen lasse ich momentan noch aussen vor...
    Aber ich möchte das das Programm auch im kompilierten Zustand vernünftig einzustellen ist, über einen Monat verschwende ich schon an der Gui, alleine das Designen war schon ein Akt für mich. Und ständig treten neue Problemchen auf - das fängt an tierisch zu Nerven!

    Aber einmal, dieses mal, versuche ich den angepeilten 100% sehr nahe zu kommen ;)

    Grüsse!