GUI Programme unter Linux erstellen
-
Hi Leute,
ich programmiere schon seit einiger Zeit Konsolenanwendungen in C++ und würde jetzt gerne auch Fensterprogramme erstellen. Leider habe ich gar keine Ahnung, wie ich da anfangen soll. Habe im Internet die Stichworte QT und GTK+ gefunden, aber irgendwie nicht ganz verstanden, ob das nun in jedem Linux verfügbar ist, oder ob man die Klassen dieser Packages einbinden muss, ...
Vielleicht könnt ihr mir ein bisschen weiterhelfen? Meine Anforderungen: Ich möchte einfache Programme mit Fenstern erstellen und das ganze sollte Kostenlos sein. Bisher habe ich in Eclipse programmiert, würde aber auch auf einen anderen Editor umsteigen, falls das irgendwie nötig/hilfreich wäre.
Vielen Dank schonmal für eure Hilfe!
-
Qt und GTK sollten auf jedem Linux-Desktop verfügbar sein. Wenn nicht installiert, dann in den offiziellen Repositories der Distribution, so dass du sie in der Regel einfach als Abhängigkeit eintragen kannst.
Wenn du dich für C++ und Qt entscheidest, dann kannst du mal den QtCreator und eventuell KDevelop ausprobieren.
-
gnome verwendet die glib und kde verwenden eh nur klickibunties :p
-
Welche Distribution benutzt du denn?
Unter KDE kann ich dir Qt oder auch KDevelop empfehlen, unter Gnome GTK+.
-
hinter dem mond schrieb:
gnome verwendet die glib und kde verwenden eh nur klickibunties :p
Du meinst nicht die GLib sondern GTK+ oä. Und "Klickibunti"-GUI-Creator-Tools gibts praktischerweise auch für Gnome.
munich: Wie bereits gesagt sind QT oder GTK+ unter jeder GNU/Linux-Distro verfügbar. Du kannst also beides verwenden. Vorinstalliert sind sie noch nicht überall, aber wenn Du Dein Programm paketierst, kannst Du das Framework, das Du verwendest, einfach als Abhängigkeit angeben und das wird dann mit Deinem Programm automatisch mitinstalliert.
Ich verschiebe Dich mal ins GUI-Forum, da bist Du besser aufgehoben.
-
Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Super, vielen Dank für eure Antworten!
Werde dann wohl QT oder GTK+ nehmen, welches würdet ihr mir denn empfehlen oder ist das im Endeffekt egal?
Danke,
munich
-
Ich persönlich verwende Gtkmm. GTK+ ist eine C Bibliothek, die objektorientiert geschrieben ist. Gtkmm ist ein Wrapper dafür, der sehr C++-artig geschrieben wurde. Smart-Pointers, echte Polymorphie, Anbindungen zur Standardlib, etc.
Qt dagegen hat (extrem subjektive Aussage) nicht mehr viel mit C++ zu tun, die meiste Standardbibliothek gabs da noch gar nicht, deshalb gibt es da eigene Strings, Sontainer, aber IMHO schlechtere.Eigentlich ist die Hauptfrage aber Folgende: Verwendest du KDE? Ja: Qt, Nein: GTK+.
Meistens ist nämlich die GTK+-Integration in KDE schlecht (man erkennt die GTK+-Anwendungen sofort, sie fallen aus dem Bild) und umgekehrt noch schlechter (KDE-Anwendungen sehen genau gleich aus wie in KDE).
-
@proGTK
Qt dagegen hat (extrem subjektive Aussage) nicht mehr viel mit C++ zu tun, die meiste Standardbibliothek gabs da noch gar nicht, deshalb gibt es da eigene Strings, Sontainer, aber IMHO schlechtere.
Wie kommst Du darauf? Qt ist ein C++ Framework. Ich kann alles was C++ biete benutzen Standardlib / Boost usw. Es ist mir überlassen ob ich std::string nehme oder QString. Die Qt eigenen Container kann man nutzen muss man aber nicht!!!
Scylla
-
Ich finde QT auch besser, besonders: Es läuft auf allen Systemen (sogar Ubuntuu), und man kann falls gewünscht die Software noch auf Windows und Mac Portionieren.
MfG
-
derFer schrieb:
Es läuft auf allen Systemen (sogar Ubuntuu)
Eindeutiger Sieg für Qt
...
Sind nicht praktisch alle Toolkits (Qt, GTK+, wxWidgets, FLTK, FOX, etc.) für Linux, Windows, Mac und sogar Ubuntuuuuu verfügbar?
-
proGTK schrieb:
Eigentlich ist die Hauptfrage aber Folgende: Verwendest du KDE? Ja: Qt, Nein: GTK+.
Das ist eigentlich doch egal?
Ich kenne mich nicht so gut in GTK+ aus, allerdings wird denke ich mal Qt "besser" weiterentwicklet von Nokia/Trolltech und du kannst eventuell in Zukunft damit auc Meego/Symbian Apps für Handys schreiben. Es gibt dazu auch Qt Developer Days und was weiß ich. Mit Qt bin ich bisher immer gut gefahren. Damals war der Vorteil von GTK+, das du deine Programme nicht zwingend unter GPL stellen musst und somit den Source veröffentlichen musst, aber mittlerweile ist das bei QT auch nicht anders.
-
Hast du das mit dem Portieren mal gemacht ?
Meine Erfahrungen sind da schlecht: meist wird irgendeine lib, die du brauchst, inzwischen nicht mehr weiterentwickelt. Und dann hast du die Auswahl selbst diese lib auf den aktuellen Stand anzupassen, oder es zu lassen.
Meines Wissens musst du bei QT aufpassen, ob die libs mit der gleichen Compilerversion compiliert wurden wie der Compiler, den du verwendest. Es gibt da Hinweise im Internet (und meine eigene Erfahrungen), dass es da mitunter sehr eigenartige Compiler-Fehlermeldungen gibt, deren Ursache nicht in deinem Code liegt...
-
proGTK schrieb:
Ich persönlich verwende Gtkmm. /.../
Dieser Teil des Beitrags ist vermutlich der inhaltlich richtige Teil.
-
Serenity schrieb:
proGTK schrieb:
Eigentlich ist die Hauptfrage aber Folgende: Verwendest du KDE? Ja: Qt, Nein: GTK+.
Das ist eigentlich doch egal?
Schon mal GTK+ Programme unter KDE gesehen?
Sieht schlecht(=passt sich nicht an die Umgebung) aus.
-
Ja habe ich, läuft z.B. gerade hier...
Oder was ist mit GIMP oder Inkscape, habe ich beide auch, nutzten beide GTK und mein System ist: openSUSE 11.3 mit KDE 4.4
-
Vorteil von GTK ist, dass es auch mit "normalem" C zu programmieren ist, und man sich den ganzen C++ Overhead sparen kann. Zudem gibt es Anbindung an alle möglichen OO Sprachen auch C++, Java und natürlich auch für div. Scriptsprachen wie Python, PHP usw, wer denn unbedingt OOP betreiben will... Alles im WIKI nachzulesen.
Ich kenne kein anderes GUI Toolkit, dass das bietet.
Und wenn man sich einmal durch das erste Programm "gebissen" hat, schüttelt man weitere GUI Programme quasi aus "dem Ärmel".
Ich kenne auch kein Toolkit, dass sich besser für Crossdevelopment eignet. Ausser systembedingter Besonderheiten (das betrifft idR nicht das GUI) sind keine Anpassungen nötig. Und das Aussehen der Applikation kann dank Themes durch den Benutzer selbst angepasst werden.
Ach ja... Nokia will ja anscheinend wieder zu M$ wechseln. Ob dann QT weiter so forciert wird darf hinterfragt werden
Gruss GTK Fan