私は C++ で開発を行っています。GTK が Wayland に置き換えられると聞きました。
長期的に C++ に適した GUI ライブラリはどれですか?
答え1
WaylandはX11GTK+ は、GNOME やその他のデスクトップ環境で現在も使用されている GUI ツールキットであり、これを置き換える予定はありません。
Linux用の2つの大きなGUIライブラリはクォートそしてGTK+どちらも C++ で使用でき、今後も当分の間は使用され続けると思われます。
どちらが適しているかは、主なターゲットとなるデスクトップ環境によって異なります。どちらのライブラリもどのデスクトップ環境でも使用できますが、デスクトップ環境に「不適切な」GUI ツールキットを使用している場合、アプリの外観と操作性は異なります。
アプリを Linux 以外のシステムで使用したい場合は、通常、Qt の方が適しています。
答え2
グレイド
C++ コードを使用してウィジェットをインスタンス化して配置することもできますが、これはすぐに面倒で繰り返しの多い作業になります。また、変更を表示するには再コンパイルが必要です。Glade アプリケーションを使用すると、画面上でウィジェットをレイアウトし、配置の XML 記述を保存できます。
これには次の利点があります。
- 必要な C++ コードが少なくなります。
- UI の変更がより早く確認できるため、UI を改善できます。
- プログラミングスキルを持たないデザイナーでも UI を作成および編集できます。
Glade で設計されたユーザー インターフェイスは、よく知られた XML 形式で保存されるため、外部ツールとの統合が容易になります。実行時に XML ファイルをロードしてインターフェイスを作成できる libglade などのツールと一緒に使用することをお勧めします。
現在サポートされているすべてのバージョンの Ubuntu に Glade GTK+ ユーザー インターフェイス ビルダーをインストールするには、ターミナルを開いて次のように入力します。
sudo apt install glade
Glade をインストールせずに GTK+ ライブラリの開発ファイルのみをインストールするには、次のように入力します。
sudo apt install libgtk-3-dev
Qt クリエイター
Qt Creator は、Qt アプリケーション フレームワークを使用した開発をより迅速かつ容易にするために設計されたクロスプラットフォームの統合開発環境 (IDE) です。
含まれるもの:
- 高度な C++ コード エディター
- 統合されたGUIレイアウトとフォームデザイナー
- プロジェクトおよびビルド管理ツール
- 統合されたコンテキスト依存ヘルプシステム
- ビジュアルデバッガー
- 迅速なコードナビゲーションツール
- 複数のプラットフォームをサポート
- Qt クイックデザイナー
現在サポートされているすべてのバージョンの Ubuntu に QT Creator をインストールするには、ターミナルを開いて次のように入力します。
sudo apt install qtcreator
$apt-cache は qtcreator に依存します | grep qt qtクリエイター 依存: libqt5sql5-sqlite 依存: qml-module-qtqml-models2 依存: qml-module-qtquick-controls 依存: qml-module-qtquick2 依存: qtchooser qtchooser:i386 依存: qtcreator-data 依存: libqbsqtprofilesetup1.10 依存: libqt5concurrent5 依存: libqt5core5a 依存: libqt5designer5 依存: libqt5designercomponents5 依存: libqt5gui5 依存: libqt5help5 依存: libqt5network5 依存: libqt5printsupport5 依存: libqt5qml5 依存: libqt5quick5 依存: libqt5quickwidgets5 依存: libqt5sql5 依存: libqt5widgets5 依存: libqt5xml5 依存: <qtdeclarative-abi-5-9-5> libqt5qml5 推奨: qt5-doc 推奨: qt5-qmltooling-plugins 推奨: qtbase5-dev-tools qtbase5-開発ツール:i386 推奨: qtcreator-doc 推奨: qtdeclarative5-dev-tools qtdeclarative5-開発ツール:i386 推奨: qttools5-dev-tools qttools5-dev-tools:i386 推奨: qttranslations5-l10n 推奨: qtxmlpatterns5-dev-tools qtxmlpatterns5-開発ツール:i386 qターミナル