回答:
一般的に、ユーザーの観点からの違いは純粋に表面的なものでなければなりません。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ライブラリを使用できません)。ただし、両方のバージョンが同時にシステム上に存在する可能性があり、これの最も深刻な結果は、混乱の可能性ともう少し多くのメモリの膨張です。
いいえ、そのようなプログラムの内部構造に違いはありません。GTKとQtは、ユーザーインターフェイスツールキットとフレームワークです。開発者がグラフィカルインターフェイスを設計するために使用するライブラリです。
グラフィカル(GUI)プログラムが作成されると、最初にそのコア内部が開発されます。これがプログラムを実行させるものです。コアは表示されず、単にバックグラウンドで実行されます。このコアの上に、ユーザーインターフェイス(UI)が設計されています。
これで、開発者は完全なインターフェイスをゼロから設計したり、他のユーザーが作成した設計を再利用したりできます。デザインの再利用には大きな利点があります。コンピューター内のすべてのプログラムが同様に見えるようにします。したがって、GUIツールキットを使用します。GTKとQtは、非常に一般的な2つのGUIツールキットです。
GTKはGNOMEの標準ツールキットですが、QtはKDEで使用されます。ユーザーの観点からは、見た目だけが異なります。プログラムは基本的に同じままです。
考慮すべきもう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リンクに適しているかどうかに依存します。クロスプラットフォームを目指していますが、Qtほど広くサポートされているクロスプラットフォームではありません。