2009-04-29 21 views
39

私はPythonで小さなコマンドラインアプリケーションを開発した経験があります。私はPythonを使ってGUIを開発していきたいと考えています。 Pythonのために利用可能なGUIツールキット、私はwxPythonをTkinterのあることが最も傾いた感じのものから。私はいつも自分でGUIのすべてをコーディングするつもりはありません。wxPythonまたはTkinter用のGUIデザイナー付きの素敵なIDE

これらのツールキットに適したGUI IDEはありますか?それは無料でもオープンソースである必要もありません。

答えて

30

それは私が経験を持っている唯一のツールキットですので、私はwxPythonをについてのみ話します。 TkInterは小さなプログラムを書いていいです(それはGUIデザイナーを必要としません)が、大規模なアプリケーション開発には本当に適切ではありません。

  • wxFormBuilder本当に良いです:それはあなたのプログラムにロードする必要.XRCファイルを生成し、それはあなたが使用している場合、それらをサブクラス化することで.pyファイルを生成することができます。

  • DialogBlockswxDesignerは直接Pythonコードを生成することができる2つの商用ソフトウェアです。私は彼らの価格のためにこれらをあまりテストしなかった。

  • wxGladeはまだ大規模なプログラムのために十分成熟していない(と思う)ですが、それは試してみる価値はあります。

は、これらすべてを試した後、私は彼らがすべての欠陥を持っていたと何がちょうどエディタでGUIを書くよりも優れていないことに気づきました。問題は拡張学習曲線です。しかし、GUIデザイナーを使用する場合よりもはるかに高速になり、コードはより柔軟になります。

はwxPythonをで書かれたこのlist of major applicationsを見てください。これらのどれもGUI Designerを使用していないことが分かりますが、その理由があるはずです。

gsがPyQtに切り替えるか、アプリケーションを手作業で書いていると言っても分かります。私は過去にQt Designerを見て、これが私が必要としていたものだと考えました。残念ながら、PyQtにはいくつかのライセンス制限があります。

+3

"大規模なアプリケーション開発"をどのように定義しますか?なぜtkinterは不適切だと思いますか?私は百万以上のラインアプリケーションでこれを使ったことはありませんが、wxPythonだけでなく、規模も大きくなると思います。 –

0

私はいくつかのミッションクリティカルなアプリケーションにwxGladeを使用しました。あなたがwxで少し弱ければ、それは荒いかもしれませんが、一度それに慣れれば、その素晴らしいツールです。

15

これは直接あなたの質問に答えることはできませんが、wxPythonのための良いUIデザイナーがなかったので、私はPyQtを選びました。

どうやらあなたは手であなたのGUIを書いたり、PyQtはに切り替えのいずれか。

NokiaとRiverbankcomputingがLGPLソリューションに同意できないため、ノキアは独自のバインディング(PySide)を構築することに決めました。

+3

+1 Qt DesignerはUIデザイナーを嫌にしてくれたプログラムです。また、PyQtバインディングは少しPythonに見えますが、wxのものはC++のビットが多すぎるようです。 (整数イベント/アクションIDなど) 実行時にロードされる生成されたコードとリソースファイルを使用することは、ほとんど類似しています。生成されたコードが非常にきちんとしていて、あなた自身も書いているものを傷つけることはありません。 – millimoose

+0

PyQtはWin/Mac/Linuxのネイティブなルックアンドフィールをサポートしていますか? –

+0

@ eyze:部分的に。 MacではCarbon要素(彼らはCocoaに移植しています...)を使用しています。これは、カスタム要素(ネイティブなルック&フィール)から実際のネイティブウィジェットに切り替わります。 linuxではカスタム要素をペイントしますが、システム上のすべてのQtアプリケーションの外観を変更することができます。 PyQtのもう一つの利点は、ライブラリです。これはGUIフレームワークだけではありません。 –

4

xrced(wxPythonに付属)を使用します。 GUIはxmlファイルで定義され、初期化を自動化する自動生成されたpythonファイルがあります。その後、これらの自動生成されたクラスをサブクラス化し、残りの初期化を手作業で行います。私は、手書きのGUIコードの優しさとGUIコード生成の容易さを融合させるための良い方法だと感じています。

WingIDEのコードについては、wxPythonが好きな大規模なライブラリ(またはフレームワーク)を扱う際に、優れたデバッガと優れたソースコード補完をお手伝いします。あなたはより多くの自動化(とそう、醜いコード)Boaの最新バージョンを試してみたい場合はVisualWxを試してみてください

は、ShowMeDo.com

+1

手書きGUIの優雅さ??????? –

+3

もし正しいとすれば...;) –

+0

GUIコードが適切に実行されるならば、他のコードと同じように優雅です。 – rectangletangle

1

でそれのためにいくつかの素晴らしい入門のスクリーンキャストがあります。私はGUIデザイナーは非常に良いと思う。 IDEはかなり初歩的です(コード補完やデバッグなどはありません)。私の仕事パターンはVisualWxとKomodo Edit/Netbeans /などの良いエディタを持つことです。同時に開いて、必要に応じて切り替えます。

+0

VisualWXはクールに見えますが、まだアクティブですか?ウェブサイトは2007年4月からアルファ版を表示しています。フォーラムには過去6ヶ月間に5つのメッセージしかありません。 –

+0

私はこれを使って私が書いたゲームの設定ダイアログを作りました。あなたが新しいwxWindowsバージョンからの最先端のものを望むなら、おそらくあなたの目的を果たさないだろう。しかし、私が試したことのためにはうまくいった、それは無料で、現在のバージョンは安定しているようだ(例えば、Boa Constructorと違って)。私のアドバイスは、単にそれを試して、あなたが何を考えているか見ることです。 – Brandon

5

Boa Constructorには、WxPython GUIビルダーがあります。

+1

BoAコンストラクタはDelphiのような優れた作業ですが、Pythonが自動的に生成したソースコードを解析して、設計したものを追跡しておく必要があります。 wxPythonをアップグレードすると、自動的に生成されたコードを手作業で編集しなければなりません(さまざまなフラグが追加されるか、バージョン間で名前が変更されるなど)。これは本当の痛みでした。 – Nick

1

が、私はそこに、おそらく最良の解決策ではない私のPythonのIDE(とPyDevはとEclipseを使用しますが、それはかなりありますGUI開発のために、私は中規模のプロジェクトにwxGladeを使用しており、WxPythonのコンセプトを把握しているのはとても使いやすいとわかりました。 XML生成は、実際のGUI設計をプログラムロジックから分離するのに非常に便利です。

これらはすべて無料です。

+0

まだpythonインターペプターをeclipseに追加する方法は分かっていません。そのインストールは馬鹿ではありません。それは私を得た! – Iancovici

+0

私はそこであなたを助けることができないほど多くのPythonインタプリタを使用していません:P –

+0

あなたはwxGlade、 – Iancovici

関連する問題