Forum: PC-Programmierung grafische Oberfläche generieren für C


von Hacked (Gast)


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ß

von Pal Pepre (Gast)


Lesenswert?

Hallo !

Die Beispiel sind bei Installation von Qt-Creator mit dabei.

Gruß
Pal

von Np R. (samweis)


Lesenswert?

Glade, GTKBuilder, Anjuta, PythonGTK+ 3...

Ohne zu wissen, auf welche Plattform Du Dich beziehst, ist es etwas 
schwierig, Dir etwas zu raten.

von Programmierer (Gast)


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++.

von H. R. (hacker_r)


Lesenswert?

Sehr verbreitet ist c# und QT.

Ich benutze PYQT und PYQT designer. Wenn du willst kann ich dir erkälren 
wie das ganze aufzusetzen ist.

von René F. (Gast)


Lesenswert?

Schau dir mal VISG an, ist ein kleines relativ unbekanntes und altes 
Programm zum generieren von WinApi GUIs für C.

https://www.dreamincode.net/forums/topic/32588-visg-visual-and-smart-gui-builder-what-do-you-think/

von Sven B. (scummos)


Lesenswert?

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?!

von G.Ast (Gast)


Lesenswert?

Das und ist nicht im mathematischen Sinne zu verstehen ;-)

von H. R. (hacker_r)


Lesenswert?

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

von Bernd K. (prof7bit)


Lesenswert?

Pal Pepre schrieb:
> Qt-Creator

Er hat aber C gesagt.

von Bernd K. (prof7bit)


Lesenswert?

René F. schrieb:
> WinApi

Programmierer 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.

von René F. (Gast)


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?

von Bernd K. (prof7bit)


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.

von A. S. (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


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?

von G.Ast (Gast)


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

von S. R. (svenska)


Lesenswert?

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.

von René F. (Gast)


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.

von Rolf M. (rmagnus)


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.

von Jan (Gast)


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

von Bernd K. (prof7bit)


Lesenswert?

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.

von Rolf M. (rmagnus)


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.

: Bearbeitet durch User
von ohne Account (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.