Fragen zum Thema GUI-Programmierung bitte im GUI-Forum stellen.
Hi Leute. Ich programmiere schon einige Zeit lang mit Windows. Bin jetzt auf Linux umgestiegen. Da hab ich einige Fragen:
Wenn ich in Windows Grafik-Programmierung gemacht hab (also Fenster etc.), dann hab ich entweder die MFC oder die WinAPI benutzt. Wie ist das in Linux?
.) Muss ich da immer für eine Sache (also KDE, Gnome, Gt etc.) programmieren, oder sind diese Programme allgemein?
.) Was für eine API benutze ich da? Ich möchte (wenn es immer nur für eines geht, siehe oben) für KDE programmieren. Gibt es da auch Basis-Funktionen wie die WinAPI? Oder MUSS ich Klassen verwenden?
.) Wo finde ich gute Turtorials für KDE-Programmierung (vorzugsweise für eine funktionsbasierte API)?
Danke für eure Hilfe!
Miles
[ Dieser Beitrag wurde am 18.05.2003 um 11:09 Uhr von kingruedi editiert. ]
Zuletzt bearbeitet von rüdiger am 10:07:10 08.10.2006, insgesamt 1-mal bearbeitet
Ich erklär es dir mal grob, wie das aussieht bei Unix.
Es gibt X, dass ist das System, was für den Zugriff auf die Hardware und Remote Verwaltung und Darstellung etc. verantwortlich ist. Dadrauf lässt man idr. einen Windowmanager laufen, der für die Verwaltung der Fenster etc. zuständig ist. Oft ist dieser noch mit zusätzlichen Programmen ausgestattet, zB. mit einer Taskleiste oder einem Programm zum darstellen von Icons auf dem RootWindow.
Wenn man nun etwas in X darstellen will, dann nimmt man die XLibrary. Da diese aber keine Widgets zur Verfügung stellt benutzt man idr. eine Widget Library. Da gibt es verschiedene populär sind ua. Xt, GTK, QT, TK.
Dabei ist es völlig egal, ob der Windowmanager vielleicht in GTK geschrieben ist und das Programm was du laufen lassen willst in QT oder direkt auf X basiert, da im Endeffekt immer die gleiche Schnitstelle benutzt wird.
Wenn du eine Übersicht über die Librarys suchst, dann schau dir mal
Du musst dich erst einmal entscheiden, mit welcher Programmiersprache du Programme erstellen möchtest:
C oder C++ ?
Die GTK Bibltiohek und die darauf aufbauenden GNOME Bibliotheken kannst du von C aus verwenden. Für C++ existiert mit GTK-- allerdings ein Wrapper.
Die Qt Bibliothek und die darauf aufbauenden KDE Bibliotheken kannst du von C++ aus verwenden. Es existiert keine Möglichkeit, diese Bibliotheken von reinem C aus direkt zu verwenden.
Zur Entscheidung KDE oder GNOME:
KDE Programme integrieren sich sehr gut in den KDE Desktop (Theme Einstellungen, etc.) und GNOME Programme integrieren sich sehr gut in den GNOME Desktop.
Sofern du die notwendigen KDE Bibiotheken installierst, kannst du natürlich auch KDE Applikationen unter GNOME ablaufen lassen. Dito für GNOME Applikationen unter KDE. Allerdings ist dann die Integration in den Desktop nicht gegeben, d.h. es wird z.B. dein GNOME Theme oder deine Desktop Farbeinstellungen nicht auf die KDE Applikation angewendet.
Die Qt Bibliothek wird von TrollTech bereits mit vollständiger Dokumentation und mit Tutorial ausgeliefert. Online verfügbar unter http://doc.trolltech.com/3.1/index.html .
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum nicht antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.