GUI Programmierung (X, KDE/QT, GNOME/GTK)



  • ⚠ 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. ]



  • 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

    http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
    GUI Toolkits for The X Window System (danke an nman für den Link)
    Alles zur GUI Programmierung in C und C++ - aus der FAQ des GUI-Forums

    an.

    Eine Linkliste zum Thema X11 und XLib
    http://www.rahul.net/kenton/xsites.html



  • 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 .

    Für KDE wirst du bei http://developer.kde.org/ fündig werden und für GNOME schaust du bei http://developer.gnome.org/ .

    Wenn du eher einen toten Baum bevorzugst:

    GNOME 2.0. Das Entwickler- Handbuch.

    Gnome 2.0 | ISBN: 3898421821

    KDE- und Qt-Programmierung. GUI-Entwicklung für Linux

    KDE- und Qt-Programmierung | ISBN: 3827314771

    Das QT-Buch. Portable GUI Programmierung unter Linux/UNIX und Windows

    Das Qt-Buch | ISBN: 3934678769


Anmelden zum Antworten