すべてのQtアプリケーションでKDEをインストールする必要がありますか?QtランタイムがGNOMEと一緒にインストールされていれば十分ですか?QtアプリケーションをGNOMEのGTKアプリケーションとまったく同じように見せることはできますか?Qt、GTK、KDE、GNOME、Xの関係について詳しく説明している記事を教えてください。
5 に答える
Xで実行している場合、QtアプリとウィンドウマネージャーはどちらもXクライアントです。これらは両方ともXServerと通信して、ウィンドウの描画、入力の受信、または操作を行います。XServerはハードウェアを認識しており、特定のモニターへの描画、マウス入力の受信などを処理します。
デスクトップ環境がなくても、ウィンドウマネージャーがなくてもQtアプリケーションを実行できます(ただし、プログラムを移動/サイズ変更することはできません)。ウィンドウマネージャーなどは、実行中の通常のXプログラムであり、独自の機能を提供しますが、相互に間接的にのみ相互作用します。それらは、実行中の別の特定のプログラムに依存しません。
ウィンドウの状態(位置、順序、内容)はXサーバーによって管理され、ウィンドウマネージャーなどのプログラムによって照会および変更できます。
ウィンドウマネージャーは、ウィンドウのサイズ設定、配置、装飾を処理します。ウィンドウが作成/変更されたときにイベントを受け取るので、そうすることができます。ウィンドウの外側にフレームを描画し、ウィンドウのクローズ、最大化、ドラッグなどのクリックを処理します。
Qtアプリケーションはメインウィンドウ内に描画し、ウィンドウ内でのマウスクリックとキー押下を処理します。
Qtは、ウィンドウからXEventsを送信する(サイズ変更/移動)か、WMヒント(ダイアログ、重要、サイズ変更不可)を設定することにより、ウィンドウマネージャーと通信できます。これらはXServerを通過し、リッスンしているプログラムがない場合は効果がありません。
私はQtアプリケーションをMacで定期的に実行し、場合によってはWindowsで実行しますが、MacとWindows PCのどちらにもKDEがインストールされていないことを完全に確信しています(さらに言えばGnomeも)。したがって、最初の質問に対する答えは「絶対にありません」です:-)。
Qtは単なるUIライブラリであるため、KDEがQtで記述されている/Qtを使用していることがあります。
Qtライブラリがインストールされている限り、Qtを使用してアプリを作成し、gnomeをインストールして実行できます。
はい、システムが使用しているテーマを使用している限り、Qtアプリケーションをgnomeアプリケーションのように見せることができます。(一般的にどのようにそれを知っているのかわかりません)私はgnomeを使用してubuntuの下でpythonで書かれたいくつかのQt UIベースのアプリを使用し、それらはテーマをうまく使用します。
まあ、その逆。歴史的に、KDE(そして現在)はTrolltech QtC++フレームワーク上に構築されていました。Qt C ++はクロスプラットフォームになり、多くのプラットフォームへのKDEの冒険がよりスムーズになりました。すぐに:KDEはQtに依存します:)
Qtアプリケーションを開発する場合、選択肢の1つは、KDEウィジェットまたはライブラリをアプリケーションに含めることです。これを行う場合は、いくつかのKDEパッケージ(Linux上)またはライブラリをターゲットマシンとQtマシンにインストールする必要があります。これらがWindowsまたはMacでどのように利用できるかはわかりませんが、KDEをWindowsに移植するための何らかの試みが進行中です。