多くのパッケージは、GTKバージョンとQTバージョンの両方で利用できます。

  • 両者の違いは何ですか?
  • パフォーマンスや作業方法に違いはありますか?

回答

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

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

Aより重要な問題は、RAMが非常に限られているコンテキスト(< 1/4 GBなど)にあります。この場合、システムでGTKのみを使用するかまたは Qt、ただし両方ではありません。ただし、ギガバイトのメモリを備えた最新のデスクトップでは、これは問題ではありません。 -両方を広範囲に使用すると、50〜100 MBの追加コストが発生する可能性があります。


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

コメント

  • LinuxはGTK指向であるという結論にどのように到達したかを知りたいと思いますか? Linuxは通常、Linuxカーネルのみを意味します。これは、GUIユーザースペースプログラムではなくOSカーネルであるため、一般にどちらのツールキットにも偏りがありません。オペレーティングシステムとしてGNU / Linuxを暗示するつもりだったとしても、私は'それでもあなたの主張に異議を唱えます。 Ubuntuが最も人気のあるディストリビューションであるためGNU / LinuxがGTK指向であると言うことは、サッカーが世界で最もプレイされているゲームであるため、クリスティアーノロナウドが最高のスポーツマンであると言うようなものです。 (私は'もそれについて異議を唱えています)
  • @darnir I ' " GNU "の修飾子は、口語的な意味でのオペレーティングシステムを意味していました。 ' Qt指向よりも GTKであるという私の主張を擁護します:GTK(元々は" GIMPツールキット"、およびGIMP = GNU Image Manipulation Program)、GIMP、およびGNOMEはすべてGNUプロジェクトであり、オペレーティングシステムに対する(ユーザーランド)ビジョンのコア部分です。 、カーネルとペアになっているのは、歴史的に" linux "です。そのため、GTKは主に Linux用に開発されました。ネイティブC(vs。Qt 'のC ++)でもありますが、Qtは純粋にクロスプラットフォームです。
  • GTKの歴史と語源については同意しますが、これは、GNU / LinuxがGTK指向であることを暗黙的に意味するものではありません。実際、反対のことが真実であり、あなたの声明によって確認されています。 GTKはLinux用に 設計されており、その逆ではありません。 'は、カーネルとしてのLinuxとオペレーティングシステムとしてのGNU / Linuxは、GUIツールキットにとらわれないという私の論文を擁護します。 GTKは、Ubuntu 'に大きく依存しているため、Qtよりも野生でよく見られます。また、システムリソースが軽いという事実も役立ちます。
  • @darnirはい、OSは基本的にGUIツールキットのWRTに依存しません。GTKが"ネイティブ"ツールキットなど。ただし、'なぜ"野生でよく見られます" -GTKは、他の人との前述の関係のために、 Ubuntuが存在する前のプラットフォームで最も広く使用されていたツールキットでしたすべてのディストリビューションで広く使用されている基本的なパーツ。これが、ほとんどの Linux GUIアプリがすでにGTKアプリである理由であり、さらにコンテキストを進めることなく、新しいユーザーに"あなたに伝えることが理にかなっている理由です。 "を選択した方がよいでしょう。それ以外は、すべて同じです。しかし、それは実際には重要ではありません。
  • 複数の異なるツールキットを利用するには、さらに多くのストレージが必要になります。 'これがパフォーマンスに影響を与えるとは思いませんが、他のもののためのスペースだけです。

回答

いいえ、そのようなプログラムの内部構造に違いはありません。 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に依存し、それがアプローチに適しているかどうかグレイドリンクです。クロスプラットフォームを目指していますが、Qtほど広くサポートされているクロスプラットフォームではない可能性があります。

回答

それぞれのオブジェクトモデルに関してどのように比較し、C ++標準にどの程度準拠しているか-私の限られた経験では、QTはコードジェネレーターで少しハックしているようで、文字列とクラスの機能的に同等の独自のクラスでホイールを再発明しました。要するに、QTにはより多くのホイッスルとベルがあるようでした。便利だと思いましたが、重くて独自の感覚もあるようでした。私が言ったように、私はそれについての経験が限られていました(そしてGtkについてはさらに少ないです)。 C ++標準(STL、C ++文字列、スレッドなど)を使おうとする一般的なアプローチに傾倒している開発者の観点から、今日の比較についていくつか意見を述べたいと思います。

コメント

  • これは個人的な意見に非常によく似ており、ほとんどのSEサイトで'が期待する事実に基づく回答ではありません。また、QStringのようなものは、STLに同等の機能がなかった数十年前に必然的に生まれたことにも注意してください。最新のC ++標準がほとんどの機能を採用したので、多くのQtクラスはネイティブC ++ソリューションの単なる薄いラッパーです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です