Was ist der beste Weg, GUI-Anwendungen mit C zu entwerfen? [geschlossen]

8

Ich finde immer gute Tutorials zum Thema, aber es ist fast immer C ++. Ist es schwierig oder macht es einfach keinen Sinn, GUI-Anwendungen mit C zu erstellen?

Ein gutes Buch, eine Anleitung oder ein Tutorial ist in Ordnung.

Plattform: Linux

Danke

    
saint 17.04.2010, 14:30
quelle

8 Antworten

7

Verwenden Sie GTK + . Es ist in C geschrieben und zeigt eine gut gestaltete C-API. Ihr Tutorial ist sehr gut.

GTK + ist das Toolkit für GNOME, daher passen Ihre Anwendungen in viele Linux-Desktops.

    
Michael Ekstrand 17.04.2010, 14:43
quelle
6

Wenn Sie in C unter Windows programmieren - Petzolds Programmierfenster waren früher die Bibel für C-basierte Arbeit.

BEARBEITEN: Seit ich meine Frage beantwortet habe, wurde der Beitrag auf Linux aktualisiert. Ich werde die Post hier für jeden verlassen, der sie sucht, aber das trifft wirklich nicht auf Linux zu.

    
Romain Hippeau 17.04.2010 14:36
quelle
2
  

Was ist der beste Weg, GUI-Anwendungen mit C zu gestalten?

nicht, wenn Sie nicht müssen: -)

  

Ist es schwierig oder macht es einfach keinen Sinn, GUI-Anwendungen mit C zu erstellen?

Es ist nicht unbedingt so schwer, aber eine ziemlich redundante und ausführliche Aufgabe (wie das Schreiben von High-Level-Programmen in Assemblersprache), mit vielen wiederholten Boilerplate-Codes.

Persönlich finde ich es lohnender, einfach einen Skript-Interpreter (zB Lua, Nasal) mit Bindings für eine GUI-Bibliothek einzubetten und dann die Benutzeroberfläche in einer High-Level-Skriptsprache zu programmieren und nur den Kern der Anwendung selbst in C zu programmieren Python wurde bereits erwähnt, aber ich denke, dass eine dedizierte Erweiterungssprache wie Lua besser passt, weil es Ihren Quellcode nicht aufbläht und keine zusätzlichen Anforderungen (wie Bibliotheksabhängigkeiten oder Architektur) erzeugt.

Mit anderen Worten, die Einbettung von etwas wie Python, Perl oder Ruby kann relativ einfach sein (wegen der guten Dokumentation und Community-Dynamik), aber oft sind diese Sprachen komplexer als die Host-Anwendung selbst.

Dies ist auch der Ansatz der AlgoScore -Software, die einen eingebetteten Nasal-Interpreter mit GTK-Bindungen verwendet.

    
none 17.04.2010 14:44
quelle
2
  • nCurses Bibliothek von alten DOS-Stil-GUIs in C.

  • GTK wäre für eine moderne GUI in Ordnung.

  
  • Verwenden Sie Qt für ein plattformübergreifendes Tool   GUIs zu entwickeln   win / Linux / mac / eingebettet / symbian

         

    Ссылка

  •   
    
TheCodeArtist 18.04.2010 06:29
quelle
1

Viele qualitativ hochwertige GUI wurden in C mit zum Beispiel Windows API geschrieben. Es gibt keinen besonderen Grund warum nicht, aber die objektorientierte Programmierung war sehr erfolgreich beim Modellieren interaktiver Grafiken. GUI-Elemente ordnen sich irgendwie in C ++ - Objekte ein, die komplexes Verhalten hinter einer einfachen Schnittstelle kapseln können.

    
Pavel Radzivilovsky 17.04.2010 14:36
quelle
1

Nicht.

Verwenden Sie Python und binden Sie dann die in C geschriebenen rechenintensiven Aufrufe.

    
fabrizioM 17.04.2010 14:39
quelle
0

Es ist schwer genug (oder, meistens, ausführlich genug), dass die meisten Leute denken, dass es einfach keinen Sinn ergibt. Der GUI-Teil einer Anwendung reagiert (meistens) auf Benutzereingaben, daher ist Geschwindigkeit in diesem Bereich selten kritisch - ein Unterschied von einigen Mikrosekunden (oder sogar Millisekunden) macht selten einen großen Unterschied. Solange Antworten innerhalb von 100 ms (oder so) erscheinen, werden sie als "Instant" wahrgenommen.

Dynamisches Tippen funktioniert auch sehr gut für viele GUI-Programme. C verwendet nur statische Typisierung.

    
Jerry Coffin 17.04.2010 14:37
quelle
-1

Wenn Sie auf einem * nix-System sind, können Sie Xlib verwenden. Aber Sie sind wahrscheinlich besser dran in C ++ zu programmieren und Ihren C-Code aufzurufen.

    
Stephen 17.04.2010 14:40
quelle

Tags und Links