Allgemeine Frage zu GUI-Toolkits bei Linux

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
DaCoda
Beiträge: 172
Registriert: 09.07.2019 21:58:10

Allgemeine Frage zu GUI-Toolkits bei Linux

Beitrag von DaCoda » 21.05.2023 18:33:36

Ich habe mal ein paar allgemeine Fragen zu den GUI-Toolkits bei Linux.
(Das Toolkit ist eine Softwarebibliothek und malt/rendert die Buttons, Eingabefelder usw.)

1. GTK ist das GUI-Toolkit von Gnome und Qt ist das GUI-Toolkit von KDE. Was verwenden XFCE, Cinnamon oder MATE?

2. Ich habe KDE und kann auch GTK-Programmer wie z.B. gnome-disks installieren und ausführen. Werden die GTK-Befehle in Qt übersetzt oder zeichnet die GTK-Bibliothek auch unter KDE einfach alles selbst?

3. Wenn ich ein Qt-Programm unter Gnome ausführen, wird dann alles in GTK-Befehle übersetzt oder zeichnet Qt einfach alles selbst?

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Allgemeine Frage zu GUI-Toolkits bei Linux

Beitrag von MSfree » 21.05.2023 18:47:07

DaCoda hat geschrieben: ↑ zum Beitrag ↑
21.05.2023 18:33:36
Werden die GTK-Befehle in Qt übersetzt oder zeichnet die GTK-Bibliothek auch unter KDE einfach alles selbst?
Weder noch. Früher lag unter GTK und Qt die libX11, heute ist es Wayland, wobei X11 nach wie vor unterstützt wird. Da sowohl X11 als auch Wayland nur wenige Graphikprimitive wie Punkt und Linie Zeichnen oder Fläche füllen beherrschen, bauen Widgettoolkits wie Qt, GTK, Motif, Athenawidgets auf den Lowlevelbibliotheken auf und stellen dem Programmierer Dinge wie Buttons, Menüs... zur Verfügung, die man sonst selbst mit Linien, Punkten etc. realisieren müßte. Auch Schrift wird letztlich in Punkte und Linien zerlegt und gezeichnet.

Qt reicht also alles via libX11 and den Xserver durch, genauso machen es GTK, Motif, Athena... Das ist auch der Grund, warum alle X11-basiertten Programme parallel nebeneinander existieren und laufen können. OK, inzwischen wird libX11 mehr und mehr durch Wayland ersetzt, das wird aber bisher nur von GTK und Qt unterstützt.

XFCE, Cinnamon, LXDE oder MATE setzen auf GTK auf.

DaCoda
Beiträge: 172
Registriert: 09.07.2019 21:58:10

Re: Allgemeine Frage zu GUI-Toolkits bei Linux

Beitrag von DaCoda » 21.05.2023 20:21:57

@MSFree Danke für die Aufklärung.

Ich denke X11 bzw. Wayland stellen einen OpenGL-Context bereit, auf dem die GUI-Toolkits dann mittels OpenGL-Calls zeichnen?

Benutzeravatar
MSfree
Beiträge: 10759
Registriert: 25.09.2007 19:59:30

Re: Allgemeine Frage zu GUI-Toolkits bei Linux

Beitrag von MSfree » 21.05.2023 20:59:57

DaCoda hat geschrieben: ↑ zum Beitrag ↑
21.05.2023 20:21:57
Ich denke X11 bzw. Wayland stellen einen OpenGL-Context bereit, auf dem die GUI-Toolkits dann mittels OpenGL-Calls zeichnen?
OpenGL ist ein ganz anderes Thema, das exisitert praktisch parallel zu X11.

X11 stellt nur zweidimensionale, pixelorientierte Zeichenprimitive zur Verfügung. Wayland vereinigt zwar zu einem gewissen Teil 2D und 3D, unterscheidet aber genauso wie X11 zwischen 2D und 3D.

OpenGL stellt einen 3D-Raum zur Verfügung und entsprechende, in Hardware implementierte Methoden, 3D-Zeichenprimitive auf eine zweidimensionale Pixelebene zu projizieren. OpenGL kümmert sich darum, die projizierten Pixel auf den Framebuffer der Graphikkarte zu bringen. X11 hat hier kaum noch einen Einfluß, ausser Tastatur- und Mausereignisse, die in dem 2D-Rahmen stattfinden, an das ausführende Programm zu liefern.

Antworten