Ich entwickle in C++. Ich habe gehört, dass GTK durch Wayland ersetzt wird.
Welche GUI-Bibliotheken sind langfristig für C++ geeignet?
Antwort1
Wayland ist ein Ersatz fürX11. GTK+ ist immer noch das von GNOME und einigen anderen Desktopumgebungen verwendete GUI-Toolkit und es gibt keine Pläne, es zu ersetzen.
Die beiden großen GUI-Bibliotheken für Linux sindQtUndGTK+. Beide können mit C++ verwendet werden und werden dies in absehbarer Zukunft wahrscheinlich auch bleiben.
Welche für Sie besser ist, hängt davon ab, welche Desktop-Umgebung Ihr primäres Ziel ist. Beide Bibliotheken können mit jeder Desktop-Umgebung verwendet werden, aber Ihre App wird ein anderes Erscheinungsbild haben, wenn sie das „falsche“ GUI-Toolkit für Ihre Desktop-Umgebung verwendet.
Wenn Sie Ihre App auch auf anderen Systemen als Linux nutzen möchten, ist Qt in der Regel die bessere Wahl.
Antwort2
Lichtung
Obwohl Sie C++-Code verwenden können, um Widgets zu instanziieren und anzuordnen, kann dies schnell mühsam und repetitiv werden. Und es ist eine Neukompilierung erforderlich, um Änderungen anzuzeigen. Mit der Glade-Anwendung können Sie Widgets auf dem Bildschirm anordnen und dann eine XML-Beschreibung der Anordnung speichern.
Dies hat folgende Vorteile:
- Es ist weniger C++-Code erforderlich.
- Änderungen an der Benutzeroberfläche sind schneller erkennbar und die Benutzeroberflächen können verbessert werden.
- Designer ohne Programmierkenntnisse können Benutzeroberflächen erstellen und bearbeiten.
Die in Glade erstellten Benutzeroberflächen werden im bekannten XML-Format gespeichert, was eine einfache Integration mit externen Tools ermöglicht. Sie werden sie wahrscheinlich mit Tools wie libglade verwenden wollen, das die XML-Dateien laden und die Schnittstellen zur Laufzeit erstellen kann.
Um Glade GTK+ User Interface Builder in allen derzeit unterstützten Versionen von Ubuntu zu installieren, öffnen Sie das Terminal und geben Sie ein:
sudo apt install glade
Um nur die Entwicklungsdateien für die GTK+-Bibliothek zu installieren, ohne Glade zu installieren, geben Sie Folgendes ein:
sudo apt install libgtk-3-dev
Qt-Ersteller
Qt Creator ist eine plattformübergreifende integrierte Entwicklungsumgebung (IDE), die die Entwicklung mit dem Qt-Anwendungsframework schneller und einfacher machen soll.
Es enthält:
- Ein erweiterter C++-Code-Editor
- Integriertes GUI-Layout und Formulardesigner
- Projekt- und Build-Management-Tools
- Integriertes, kontextsensitives Hilfesystem
- Visueller Debugger
- Tools für die schnelle Codenavigation
- Unterstützt mehrere Plattformen
- Qt Quick Designer
Um QT Creator in allen derzeit unterstützten Versionen von Ubuntu zu installieren, öffnen Sie das Terminal und geben Sie ein:
sudo apt install qtcreator
$apt-cache hängt von qtcreator ab | grep qt Abonnieren Hängt ab von: libqt5sql5-sqlite Hängt ab von: qml-module-qtqml-models2 Hängt ab von: qml-module-qtquick-controls Hängt ab von: qml-module-qtquick2 Hängt ab von: qtchooser qtchooser:i386 Hängt ab von: qtcreator-data Hängt ab von: libqbsqtprofilesetup1.10 Hängt ab von: libqt5concurrent5 Hängt ab von: libqt5core5a Hängt ab von: libqt5designer5 Hängt ab von: libqt5designercomponents5 Hängt ab von: libqt5gui5 Hängt ab von: libqt5help5 Hängt ab von: libqt5network5 Hängt ab von: libqt5printsupport5 Hängt ab von: libqt5qml5 Hängt ab von: libqt5quick5 Hängt ab von: libqt5quickwidgets5 Hängt ab von: libqt5sql5 Hängt ab von: libqt5widgets5 Hängt ab von: libqt5xml5 Hängt ab von: <qtdeclarative-abi-5-9-5> libqt5qml5 Empfiehlt: qt5-doc Empfiehlt: qt5-qmltooling-plugins Empfiehlt: qtbase5-dev-tools qtbase5-Entwicklertools:i386 Empfiehlt: qtcreator-doc Empfiehlt: qtdeclarative5-dev-tools qtdeclarative5-dev-tools:i386 Empfiehlt: qttools5-dev-tools qttools5-Entwicklertools:i386 Empfiehlt: qttranslations5-l10n Empfiehlt: qtxmlpatterns5-dev-tools qtxmlpatterns5-dev-tools:i386 qterminal