グラフィカル ユーザー インターフェイス

グラフィカル ユーザー インターフェイス

私は 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ターミナル

ここに画像の説明を入力してください
(画像をクリックすると拡大します)

関連情報