2009-08-31 12 views
11

簡単な質問。Pythonを使用したLinuxでのGUIの作成

私はLinuxを使用しています。私はPythonでGUIを作ろうとします。私はQt、GTK +、PyGTKのようなものについて聞いたことがありますが、正確には何か、それらの違いは何か分かりません。

GNOME、KDE、XFCEなどの異なるDEで動作する方法に違いはありますか? Microsoft Visual Studio(C#、C、Visual Basicなど)のようなGUIを作成できるIDEはありますか?

GUIアプリケーションを作成するためにPython以外の言語を使用する必要がありますか?

答えて

12

あなたの最初のステップは、http://wiki.python.org/moin/GuiProgramming

いくつかのツールキットは、他の上の1つの環境でより良い統合する必要があります。たとえば、PyQt、PyKDE(そして新品のPySide)は、KDE環境ではより良く動作し、GTKバージョン(WX-widgetsを含む)はGNOME/XFCEデスクトップによく混じります。

対象とする環境を見てください。基本的なポータブルGUIキット、またはKDEやGNOMEのような特定のDEに統合されている統合パスワードマネージャや設定ファイルパーサの使用など、ツアーDEとの深い統合が可能です。

また、選択に依存する依存性と、基本的なDEをデフォルトとするものを考慮する必要があります。たとえば、KDE ​​3.XブランチのPyKDEは、依存関係の些細なセットを持っていましたが、4.Xブランチでは、プラズマバインディングによってPython GUIプログラミングの依存性が問題になりませんでした。

完全性と完成度のレベルにはいくつかのIDEツールがあります。一番良いのは、1つ以上の鉱石を試して、あなたのニーズに最も適したものを見ることです。

+4

うわー、そこにはたくさんのフレームワークがあります。どのような地球が私のために最高のものであるかを理解するはずですか? –

+2

@Baldur、あなたの主な目的は何ですか? Gnome、GTK(またはWindowsとそれよりも小さなMacの間で合理的なクロスプラットフォームの能力を望むならwx)。 KDEや他のウィンドウマネージャー、Qt(素晴らしいクロスプラットフォーム能力も提供します)。 Macのみ、PyObj、およびCocoaの場合は、 Windowsのみの場合、私はIronPython(およびWindows Forms ...または最新で最高の.NET GUI製品は何でも;-)をお勧めします。 –

+0

私の主なプラットフォームはGNOMEだと思うので、GTKを使うべきですか? GTKはPythonで動作しますか、PyGTKを使用する必要がありますか?混乱しています –

2

各デスクトップ環境では、特定のツールキットを使用してコンポーネントを構築しています。たとえば、KDEはQtを使い、GNOMEはGtkを使います。

あなたがターゲットとするデスクトップ環境の種類に応じて、幅広いデスクトップをターゲットにしたい場合は、Wxウィジェットなどの多くのデスクトップ環境で動作するツールキットを使用しますLinux、Mac OS、Windows上で動作します。シンプルなGUIアプリケーションを構築するために、Tkinterが行います。

+0

Tkinterは多くのDEで動作しますか? GNOMEがGtkを使用するのはなぜですか?そしてKDEはWxウィジェットを両方使うことができるときにQtを使用しています。彼らがどれほど良いことに違いがありますか? –

+1

Wxは醜いので;-)真剣に考えても、プログラミングの容易さと視覚的外観の組み合わせでQtを打つのは難しいと思います。しかし誰もが自分の意見を持っています。 –

+2

AはBよりも優れていると書いた人もいれば、AとBの両方よりDが良いと書いた人もいますが、DはAとBよりも複雑な "すべての作品"にしようとしました。またはB、いくつかの人々がDを好き、そしていくつかが先に進み、EがA、B、およびDより優れていることを発見しました。今あなたは4つの選択肢、ABDまたはEを持っています:) – Parthan

4

私はPython用のGUIを作るために別の言語を使用することは避けています。

wxwidgetsは、クロスプラットフォームの開発システムであるWX用のPythonバインディングです。学ぶのはかなり簡単で、非常に強力です。 wxwidgetsの問題は、デフォルトではインストールされないため、アプリケーションを実行するすべてのプラットフォームにインストールする必要があることです。詳細については、http://wxwidgets.org/をご覧ください。

他に何もインストールせずにプログラムを使用できるようにするには、Pythonに付属のGUIシステムTkinterを使用します。

GTKまたはKDE用のPythonバインディングは、すでにそれらのシステムを理解していない限り避けています。彼らもダウンロードする必要があり、wxwidgetsほどの導入はないようです。

+0

コンパイルしない場合>:D –

0

使用PyGTKのがあります。ツールキットがその土台であるのと同じくらい重要な点として、PyGTKでは、Linuxデスクトップにとって非常に重要なファイルシステムの抽象化(Pythonモジュールgio)、glib.get_user_data_dir()などのハイレベルクロスデスクトップ機能とそのほかのアプリケーションフレームワークツール、およびGObjectとそのプロパティと信号モデルが含まれます。

関連する問題