2010-03-17 16 views
7

Haben alle Qt-Anwendungen KDE benötigen installiert werden? Genügt es, wenn die Qt-Runtime zusammen mit GNOME installiert wird? Kann ich eine Qt-Anwendung genau wie eine GTK-Anwendung unter GNOME aussehen lassen? Könnte mich jemand bitte auf einen Artikel verweisen, der die Beziehung zwischen Qt, GTK, KDE, GNOME, X beschreibt?Benötigen Qt-Anwendungen KDE?

+0

Unter Linux ist das folgende richtig? - Anwendung verwendet Qt, um seine Benutzeroberfläche zu zeichnen. Qt bezieht sich auf X und X bezieht sich auf die Hardware? Ist es möglich, den X-Server einfach zu starten und eine Qt-Anwendung auszuführen, ohne dass GNOME oder KDE geladen wird? Wenn das so ist, wie? Wie kommen Window Manager ins Bild? – BlueSilver

+0

Zeichnet Qt direkt auf X oder tut es das über einen Fenstermanager? Verwendet Qt einen Fenstermanager zum Zeichnen von Fenstern oder verwenden Fenstermanager Qt zum Rendern von Fenstern? – BlueSilver

Antwort

14

Wenn unter X läuft, Qt-Anwendungen und dem Window Manager sind beide X-Clients. Sie kommunizieren beide mit einem XServer, um Fenster zu zeichnen, Eingaben zu empfangen oder zu bearbeiten. Der XServer weiß über die Hardware Bescheid und behandelt das Zeichnen zu einem bestimmten Monitor, empfängt Mauseingaben usw.

Es ist möglich, eine Qt-Anwendung ohne Desktop-Umgebung und sogar ohne Fenster-Manager auszuführen (obwohl Sie nicht in der Lage sind Verschieben/Ändern der Größe des Programms). Fenstermanager usw. sind nur normale X-Programme, die ihre eigenen Funktionen bereitstellen, aber nur indirekt miteinander interagieren. Sie hängen nicht von einem anderen spezifischen laufenden Programm ab.

Der Status der Fenster (Position, Reihenfolge, Inhalt) wird vom X Server verwaltet und kann von einem Programm wie dem Window Manager abgefragt und geändert werden.

Der Fenstermanager übernimmt die Größenanpassung, Positionierung und Dekoration von Fenstern. Es empfängt Ereignisse, wenn ein Fenster erstellt/geändert wird, so dass es dies tun kann. Er zeichnet den Rahmen um die Außenseite eines Fensters und behandelt Klicks auf Schließen, Maximieren, Ziehen des Fensters usw.

Die Qt-Anwendung zeichnet im Hauptfenster und verwaltet Mausklicks und Tastendrücke im Fenster.

Qt kann mit dem Fenstermanager kommunizieren, indem XEvents vom Fenster gesendet wird (Größe ändern/verschieben), oder WM-Hinweise (Dialog, wichtig, nicht größenveränderbar) gesetzt wird. Diese durchlaufen den XServer und haben keine Auswirkungen, wenn kein Programm auf sie wartet.

+0

danke für die Info. Ich würde das gerne näher kennenlernen. Könnten Sie mir Links zu irgendwelchen Ressourcen im Internet zur Verfügung stellen? – BlueSilver

+1

Sie können versuchen: http://www.sbin.org/doc/Xlib/ http://www.freedesktop.org/wiki/ – fgb

6

Nun, umgekehrt. Historisch wurde KDE (und jetzt) ​​auf Trolltech Qt C++ - Framework gebaut. Qt C++ ist jetzt plattformübergreifend und macht KDE-Abenteuer auf vielen Plattformen reibungsloser. Also kurz: KDE hängt von Qt ab :)

12

Ich benutze Qt-Anwendungen regelmäßig auf meinem Mac und gelegentlich unter Windows, und ich bin mir absolut sicher, dass weder KDE auf den Macs noch auf den Windows-PCs installiert ist (auch nicht Gnome)). Zu Ihrer ersten Frage lautet die Antwort "definitiv nein" :-).

8

Qt ist nur eine UI-Bibliothek, einfach so, dass KDE in/mit Qt geschrieben wird.

Sie können eine App mit Qt schreiben und sie mit installiertem gnome ausführen, solange Sie die Qt-Bibliothek installiert haben.

Ja, Sie können Qt-Anwendungen wie Gnomen-Anwendungen aussehen lassen, solange sie das vom System verwendete Thema verwenden. (Nicht sicher, wie wissen, dass es nur im allgemeinen) ich mehrere Qt UI-basierte Anwendungen verwenden geschrieben in Python unter Ubuntu mit Gnome und sie nutzen das Thema ganz gut.

+2

Nitpicking ... Es ist Qt ("süß"), nicht QT (QuickTime ™). "In Qt geschrieben" klingt nicht richtig, da Qt keine Programmiersprache ist. Die Dinge sind in C, C++, Englisch, Französisch geschrieben ... KDE * verwendet * oder * Links zu * Qt. – Juliano

+0

Okay, machte ein paar Änderungen. Nämlich QT -> Qt – percent20

1

Wenn Sie eine Qt-Anwendung entwickeln, müssen Sie KDE-Widgets oder Bibliotheken in die Anwendung aufnehmen. Wenn Sie dies tun, dann würden Sie einige KDE-Pakete (unter Linux) oder Bibliotheken benötigen auf Ihrem Zielcomputer installiert werden, sowie die Qt diejenigen. Ich bin nicht sicher, was die Verfügbarkeit von diesen auf Windows oder Mac ist, obwohl es eine Art von Versuch gibt, KDE nach Windows zu portieren.