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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Hacked (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht lesenswert
Hallo !

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

Gruß
Pal

von Np R. (samweis)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (therfd)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


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

von H. R. (hacker_r)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Pal Pepre schrieb:
> Qt-Creator

Er hat aber C gesagt.

von Bernd K. (prof7bit)


Bewertung
2 lesenswert
nicht 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. (therfd)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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. (achs)


Bewertung
0 lesenswert
nicht 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)


Bewertung
3 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (therfd)


Bewertung
0 lesenswert
nicht 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)


Bewertung
2 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
-1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.