grafische Oberfläche generieren für C

Gast #6139550
Lesenswert?

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ß
Gast #6139569
Lesenswert?

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++.
Gast #6141032
Lesenswert?

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?
#6141555
Lesenswert?

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.
#6142310
Lesenswert?

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?
Gast #6142830
Lesenswert?

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
Gast #6142866
Lesenswert?

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.
#6142871
Lesenswert?

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.
Gast #6143643
Lesenswert?

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
#6143678
Lesenswert?

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-addons

Bernd 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.
Gast #6144634
Lesenswert?

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 ):

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren