moin,
Ich habe mal irgendwann von sowas gelesen und zwar ein Programm, mit dem
ich grafische Oberflächen erstellen kann, wo z.B. bestimmte Objekte wie
eine Balkenanzeige fertig da sind die ich in mein "Fenster" ziehe nenne
ich das mal und aus meiner Fertigen Oberfläche erzeugt er dann ein C
oder Python Code.
Gibt es sowas oder hab ich das völlig falsch verstanden
gruß
Visual Studio kann das, oder Glade für Gtk+ (https://glade.gnome.org/).
Ich sehe solche "GUI Designer" aber kritisch, weil die nicht so flexibel
sind und früher oder später irgendwelche Probleme auftauchen; da kann es
schneller & einfacher sein, das von Hand zu tippen. Zudem muss man auch
genau aufpassen dass man keine pixelgenaue Positionierung verwendet,
damit das Design gut skaliert (insb. für HiDpi-Monitore).
Grafische Oberflächen passen allerdings sehr gut auf objektorientierte
Programmierung, was wiederum besser zu C++ als zu C passt. Der Qt
Designer kann das für C++.
H. R. schrieb:> Sehr verbreitet ist c# und QT.
Sehr verbreitet ist C++ und Qt. Welche irgendwie verbreitete Anwendung
ist denn bitte in C# und Qt geschrieben?!
> Sehr verbreitet ist C++ und Qt. Welche irgendwie verbreitete Anwendung> ist denn bitte in C# und Qt geschrieben?!
sollte heissen c# """""ODER""""" QT.
Aber am sonsten sind das doch sehr verbreitete Wege um GUIs für Windows
herzustellen oder nicht?
René F. schrieb:> WinApiProgrammierer schrieb:> Visual Studio
Wer sich im Jahre 2020 noch mit schweren Eisenketten an Windows
schmieden lässt bis daß der Tod ihn scheidet, dem ist nicht mehr zu
helfen.
Bernd K. schrieb:> Wer sich im Jahre 2020 noch mit schweren Eisenketten an Windows> schmieden lässt bis daß der Tod ihn scheidet, dem ist nicht mehr zu> helfen.
Plattformunabhängigkeit ist zwar schön, in vielen Fällen aber einfach
nicht notwendig. Warum sollte man für eine kleine Applikation welche
sowieso nur auf Windows laufen muss eine andere Lösung verwenden, wenn
diese keinen Mehrwert bietet und man sich dafür erst mal dafür in z.B.
Qt oder GTK einarbeiten müsste?
René F. schrieb:> Warum sollte man für eine kleine Applikation welche> sowieso nur auf Windows laufen muss
was die Zukunft erfordert kann man vorher nicht wissen.
> eine andere Lösung verwenden, wenn> diese keinen Mehrwert bietet
Doch: Cross-Platform == Mehrwert, immer!
> und man sich dafür erst mal dafür in z.B.> Qt oder GTK einarbeiten müsste?
Logikfunktionen kaputt? Es ist doch genau umgekehrt: Wer erst Windows
lernt muss später zwangsläufig alles noch ein zweites mal lernen, wer
aber gleich die richtige Entscheidung trifft kann das meiste davon
vermeiden und spart massenhaft Zeit und Nerven.
Bernd K. schrieb:> Doch: Cross-Platform == Mehrwert, immer!
Schau dir an, welche Standards oder Frameworks quasi verschwunden sind
oder veraltet. Kommandozeile oder Windows API ist da manchmal eine
alternative.
René F. schrieb:> Bernd K. schrieb:>> Wer sich im Jahre 2020 noch mit schweren Eisenketten an Windows>> schmieden lässt bis daß der Tod ihn scheidet, dem ist nicht mehr zu>> helfen.>> Plattformunabhängigkeit ist zwar schön, in vielen Fällen aber einfach> nicht notwendig. Warum sollte man für eine kleine Applikation welche> sowieso nur auf Windows laufen muss eine andere Lösung verwenden, wenn> diese keinen Mehrwert bietet und man sich dafür erst mal dafür in z.B.> Qt oder GTK einarbeiten müsste?
Ich sehe das etwas anders. Wenn's keinen triftigen Grund gibt, sich an
eine Plattform zu nageln, was spricht dann dagegen, gleich was
plattformunabhängiges zu verwenden, auch wenn man es im Moment
vielleicht nicht braucht? Und offenbar muss der TE sich sowieso in etwas
einarbeiten. Warum dann etwas nehmen, wo Plattformunabhängigkeit schon
von Grund auf ausgeschlossen ist?
Vielleicht weil Plattformunabhängigkeit die Abhängigkeit von Frameworks
bedeutet:
- Aufblähen der Software
- teilweise extrem teuer für kommerziellen Einsatz z.B. Qt
- teilweise Verpflichtung eigenen Sourcecode offenzulegen und schwierige
Lizenzbedingungen
- API's des Zielsystem und damit Funktionalität kann nicht/erschwert
genutzt werden
- alle benutzten Bibliotheken müssen danach ausgesucht werden
multi-platform zu sein
Rolf M. schrieb:> Warum dann etwas nehmen, wo Plattformunabhängigkeit schon> von Grund auf ausgeschlossen ist?
Plattformunabhängigkeit hat auch einen Preis. Einen, den du
offensichtlich bereit bist zu zahlen (wie auch ich), aber nicht null.
Bernd K. schrieb:> Logikfunktionen kaputt? Es ist doch genau umgekehrt: Wer erst Windows> lernt muss später zwangsläufig alles noch ein zweites mal lernen, wer> aber gleich die richtige Entscheidung trifft kann das meiste davon> vermeiden und spart massenhaft Zeit und Nerven.
Pardon, ich habe aus irgendeinem Grund fälschlicherweise aufgeschnappt
der TO würde bereits mit WinAPI arbeiten und würde einen einfachen GUI
Generator suchen, natürlich ist es sinnvoller wenn man bei Null anfängt,
gleich etwas plattformunabhängiges zu verwenden.
G.Ast schrieb:> Vielleicht weil Plattformunabhängigkeit die Abhängigkeit von Frameworks> bedeutet:
Sie bedeutet nur die Abhängigkeit von anderen Frameworks, als wenn man
plattformabhängig programmiert.
> - Aufblähen der Software> - teilweise extrem teuer für kommerziellen Einsatz z.B. Qt
Qt lässt sich kommerziell ganz genauso kostenlos verwenden wie für
private Projekte. Die einzige Einschränkung: Wenn man sein Programm
Closed-Source machen will, muss man dynamisch linken.
> - teilweise Verpflichtung eigenen Sourcecode offenzulegen und schwierige> Lizenzbedingungen
Das stimmt. Die können je nach Framework schwierig sein, und man muss
das im Blick behalten. Das hat aber eigentlich erstmal nichts mit
Plattformunabhängigkeit zu tun, sondern mit OpenSource-Lizenzierung.
> - API's des Zielsystem und damit Funktionalität kann nicht/erschwert> genutzt werden> - alle benutzten Bibliotheken müssen danach ausgesucht werden> multi-platform zu sein
Das kann je nach Programm schwierig sein. Gerade mit Qt hat man aber
schon verdammt viel mit drin, so dass man für viele Programme kaum noch
was anderes braucht.
Rolf M. schrieb:> Qt lässt sich kommerziell ganz genauso kostenlos verwenden wie für> private Projekte. Die einzige Einschränkung: Wenn man sein Programm> Closed-Source machen will, muss man dynamisch linken.
Das stimmt nicht. Es gibt Teile von Qt, die sind GPL, nicht LGPL
lizenziert, dann ist Essig mit dynamisch linken. Z.b. Qt Charts für
Plots: https://doc.qt.io/qt-5/qtcharts-index.html#licenses
Er kann auch Lazarus nehmen, das ist dann zwar kein C (sondern besser)
und dann ist alles LGPL, statisch gelinkt und kleiner als 10MB. Und
cross-Platform. Und der GUI-Builder davon ist obere Weltklasseliga.
Jan schrieb:> Es gibt Teile von Qt, die sind GPL, nicht LGPL> lizenziert, dann ist Essig mit dynamisch linken. Z.b. Qt Charts für> Plots: https://doc.qt.io/qt-5/qtcharts-index.html#licenses
Ja, ein paar vereinzelte Add-ons gibt es, wo das so ist.
Welche das sind, kann man hier nachlesen:
https://doc.qt.io/qt-5/qtmodules.html#gpl-licensed-addonsBernd K. schrieb:> Er kann auch Lazarus nehmen, das ist dann zwar kein C (sondern besser)> und dann ist alles LGPL, statisch gelinkt und kleiner als 10MB.
Es ist LGPL plus zusätzliche Klauseln. Nur mit LGPL dürfte man das an
ein closed-source-Programm auch nicht statisch linken.
Hacked schrieb:> Gibt es sowas oder hab ich das völlig falsch verstanden
das mußt Du Dich in GTK+ oder SDL einarbeiten.
Ja, Du hast etwas falsch verstanden.
Die erste Bedingung lautet:
Was will ich mit dem Programm erreichen?
Du fängst aber bei der Kür bzw. Kosmetik an ):