GUI Linux
-
Ich interessiere mich für die GUI-Programmierung unter Linux.
Unter Windows gibt es ja u.a. die WinAPI.
Wie geht sowas unter Linux, wenn man nicht auf QT, wxWidgets, etc,etc zurückgreifen möchte?
-
Du darfst auch gerne direkt für X schreiben (oder neuerdings auch Wayland). Aber schreib mal ein Hello-World mit der XLib, dann weißt du, wozu man die gängigen GUI-Frameworks erfunden hat
.
-
Dieser Thread wurde von Moderator/in rüdiger 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.
-
SeppJ schrieb:
Du darfst auch gerne direkt für X schreiben (oder neuerdings auch Wayland). Aber schreib mal ein Hello-World mit der XLib, dann weißt du, wozu man die gängigen GUI-Frameworks erfunden hat
.
Eigentlich entspricht das GUI-Framework direkt der WinApi, denn mit der Xlib/XCB kann man keinen nativen Button zeichnen.
Um so nativ wie möglich zu sein, muss man unter KDE Qt und unter GNOME, Xfce, Openbox (und wie die alle noch so heissen) GTK verwenden.
-
redrew99 schrieb:
Ich interessiere mich für die GUI-Programmierung unter Linux.
Unter Windows gibt es ja u.a. die WinAPI.
Wie geht sowas unter Linux, wenn man nicht auf QT, wxWidgets, etc,etc zurückgreifen möchte?Du hoffst auf ein sehr sehr sehr sehr langes Leben und entwickelst deine eigene GUI Bibliothek.
Ok, Spaß beiseite.
Du machst dir das Leben nur unnötig schwer, wenn du ohne Qt, wxWidgets/Gtk GUI Programme entwickeln willst. Außerdem müßtest du auch alle zukünftigen Änderungen an Linux in deinem eigenen Programm berücksichtigen. Bei einem GUI Framework machen das die Entwickler für dich.
-
kakadu schrieb:
Du hoffst auf ein sehr sehr sehr sehr langes Leben und entwickelst deine eigene GUI Bibliothek.
Stimmt wohl, da bleibt einem dann wohl nichts anderes übrig, als sich in Bescheidenheit zu üben.
kakadu schrieb:
Ok, Spaß beiseite.
Du machst dir das Leben nur unnötig schwer, wenn du ohne Qt, wxWidgets/Gtk GUI Programme entwickeln willst. Außerdem müßtest du auch alle zukünftigen Änderungen an Linux in deinem eigenen Programm berücksichtigen. Bei einem GUI Framework machen das die Entwickler für dich.Ja, man kommt wohl an den Frameworks nicht vorbei,insbesondere wenn man plattformübergreifend programmieren möchte.
Die Frameworks sind mit Sicherheit eine gute Sache, weil sie sehr komfortabel sind und effektiv noch dazu. Allerdings lernt man dabei nicht die GUI-Programmierung "von der Pieke auf".Wenn man dann irgendwann mal grafisch programmieren möchte, kommt DirectX/OpenGL zum Lernen noch dazu.
Besser wäre es, wenn man nur grafisch programmieren lernen könnte und in dem Zusammenhang gleich die Programmierung von GUIs mit (ist für mich irgendwie auch das Gleiche.)
-
Hallo zusammen!
Ich programmiere seit einiger Zeit in Qt - auch unter Linux/Ubuntu.
Ich denke, es macht wenig Sinn, dass du dich in "komische" Dinge unter Linux reinarbeitest.. es wird mit Sicherheit eine Möglichkeit geben, eine "native c++ Application" unter Linux zu programmieren - da müsstest du aber trotzdem auf Ressourcen oder APIs von KDE bzw. Gnome zurückgreifen.
Ich denke, dass du dir damit unnötige Arbeit machst - solltest du nicht auf Hilfsmittel stehen, mit denen du dir die Oberfläche mit wenigen Klicks designen kannst, kannst du dir das Fenster ja selber "schreiben" und eine Dateistruktur anlegen, wie du sie haben möchtest.. es zwingt dich ja keiner, irgendwelche Dinge von Qt zu verwenden.
Wenn du - aus welchem Grund auch immer - plötzlich auf Windows umsteigen musst, kannst du deine Programme trotzdem weiter programmieren
Gruß,
Olli
-
Oliver Brunsmann schrieb:
- da müsstest du aber trotzdem auf Ressourcen oder APIs von KDE bzw. Gnome zurückgreifen.
... kannst du dir das Fenster ja selber "schreiben" und eine Dateistruktur anlegen, wie du sie haben möchtest.. es zwingt dich ja keiner, irgendwelche Dinge von Qt zu verwenden.
Gruß,
OlliJa, aber wenn ich das richtig verstehe, würde das bedeuten, daß man nicht mehr plattformübergreifend programmiert.
Muß mal gucken, wahrscheinlich ist es doch erstmal das Beste, mit Frameworks wie Qt oder wxWidgets zu arbeiten. Wenn man da halbwegs fit ist, kann man sich immer noch überlegen, ob man nicht z.B. mit OpenGl, oder wenn man auf Plattformkompatibilität verzichten möchte, halt mit D3D/DirectX, eigene GUIs erstellt.
-
redrew99 schrieb:
Ja, aber wenn ich das richtig verstehe, würde das bedeuten, daß man nicht mehr plattformübergreifend programmiert.
Stimmt. In erster Linie stellen Frameworks wie Qt oder wxWidgets nur eine Vermittlungsschicht zwischen deinem plattformunabhängigen Quellcode und den Eigenheiten des jeweiligen Betriebssystems dar.
Wenn du ein eigenes Betriebssystem schreiben würdest, müßtest du erst noch z.B. das Qt Framework auf dein System portieren, bevor du plattformunabhängigen Qt Quellcode nutzen könntest.