web-dev-qa-db-ja.com

GTKアプリケーションとQTアプリケーションの違いは何ですか?

多くのパッケージがGTKバージョンとQTバージョンの両方で利用可能です。

  • それらの違いは何ですか?
  • 性能や作業方法に違いはありますか?
60
Pandya

一般に、ユーザーの観点からの違いは純粋に表面的なものでなければなりません。 QtとGTKはテーマを個別に設定します(例:qtconfigまたはgtk-chtheme)しかし、これは一部のデスクトップ環境と調和しています。

GNU/Linuxは、前者がより一般的に使用されているという意味で、QtよりもGTK指向である傾向があるため、選択肢が与えられたときにそれを好む場合があります。例外は、独自のアプリケーションにQtを使用するKDEの場合です。ただし、これらの要素はどれも重要ではありません。

より重要な問題は、非常に限られたRAM(<1/4 GBの場合)のコンテキストにあります。この場合、おそらくシステムでGTKのみを使用する必要がありますまたは Qtですが、両方ではありません。ただし、ギガバイトのメモリを備えた最近のほとんどのデスクトップでは、これは問題ではありません。両方を広範囲に使用すると、50-100 MBの余分な(大まかな推測)コストがかかる場合があります。


GTK(2と3)とQt(3と4)の両方のバージョンがまだ広く使用されていますが、下位互換性がないことに注意してください(Qt 3アプリケーションはQt 4ライブラリを使用できません)。ただし、両方のバージョンが同時にシステムに存在する可能性があり、これによる最も深刻な結果は、混乱の可能性とメモリの肥大化の可能性です。

47
goldilocks

いいえ、そのようなプログラムの内部構造に違いはありません。 GTKとQtは、ユーザーインターフェイスツールキットとフレームワークです。これらは、開発者がグラフィカルインターフェイスを設計するために使用するライブラリです。

グラフィカル(GUI)プログラムが作成されると、最初にそのコアとなる内部が開発されます。これがプログラムを実行させるものです。コアは決してseeコアではなく、単にバックグラウンドで実行されます。このコアの上に、ユーザーインターフェイス(UI)が設計されています。

これで、開発者は完全なインターフェースを一から設計したり、他の人が作成した設計を再利用したりできます。デザインの再利用には大きな利点があります。それはあなたのコンピュータのすべてのプログラムが同じように見えるようにします。したがって、彼らはGUIツールキットを使用します。 GTKとQtは、非常に一般的な2つのGUIツールキットです。

GTKはGNOMEの標準ツールキットで、QtはKDEで使用されています。ユーザーの観点からは、見た目だけが異なります。プログラムは基本的に同じままです。

20
darnir

考慮すべきもう1つの重要な側面は、Qtライセンス ライセンスの開示へのリンク です。これは、ほとんどの非営利プロジェクトで自由に利用できるように明示的に設定されていますが、商業関係が可能であり、その場合には制限がある場合があります。 GTKとは対照的に、独自のアプリケーションでも自由に使用できることを明示してください GTKステートメント

Are there any licensing restrictions?
GTK is free software and part of the GNU Project. However, the licensing terms for GTK, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. 

複雑なGUI開発の重要な側面は、設計キットとしてGLADEに依存し、それがあなたのアプローチに適しているかどうか glade link に依存します。クロスプラットフォームを目指していますが、Qtほど広くサポートされているクロスプラットフォームではない可能性があります。

8
Vass