42

Pythonを使用して小さなコマンドラインアプリケーションを開発した経験は少しあります。Pythonを使ったGUIの開発に移りたいと思います。Pythonで利用可能なGUIツールキットの中で、私が最も気に入るのはwxPythonTkinterです。しかし、私はいつも自分ですべてのGUIをコーディングしたくありません。

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

4

8 に答える 8

32

私が経験した唯一のツールキットであるため、WxPython についてのみ説明します。TkInter は、小さなプログラムを作成するのには適しています (その場合、GUI デザイナーは必要ありません) が、大規模なアプリケーションの開発にはあまり適していません。

  • wxFormBuilderは非常に優れてい.XRCます。プログラムにロードする必要があるファイルを生成.pyし、使用時にサブクラス化してファイルを生成できます。

  • DialogBlockswxDesignerは、 Python コードを直接生成できる2 つの商用ソフトウェアです。価格が高いため、これらはあまりテストしませんでした。

  • wxGladeは (私が思うに) 大規模なプログラムにはまだ十分に成熟していませんが、試してみる価値はあります。

これらすべてを試した後、すべてに欠陥があり、エディターで GUI を記述するだけでよいことはないことに気付きました。問題は、拡張された学習曲線です。ただし、GUI デザイナーを使用する場合よりもはるかに高速になり、コードははるかに柔軟になります。

wxPython で作成された主なアプリケーションのリストをご覧ください。おそらく、これらのどれも GUI デザイナーを使用していないことに気付くでしょう。これには理由があるに違いありません。

次に、PyQt に切り替えるか、アプリケーションを手動で作成するかのいずれかを言うとき、gsが正しいことを理解します。過去に Qt Designer を見て、これが必要だと思いました。残念ながら、PyQt にはいくつかのライセンス制限があります。

于 2009-04-29T06:48:04.347 に答える
16

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

どうやら、手動で GUI を作成するか、PyQt に切り替えます。

Nokia と Riverbankcomputing は LGPL ソリューションについて合意できなかったため、Nokia は独自のバインディングであるPySideを構築することにしました。

于 2009-04-29T06:51:27.830 に答える
5

Boa コンストラクターには WxPython GUI ビルダーがあります。

于 2009-04-29T19:48:34.110 に答える
4

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

私がWingIDEを使用するコードについては、wxPython のような大規模なライブラリ (または必要に応じてフレームワーク) を処理するときに、優れたデバッガーと優れたソース コード補完があると役立ちます。

さらに自動化が必要な場合 (つまり、醜いコードが必要な場合) は、最新バージョンのBoaを試してください。

于 2009-04-29T06:52:14.803 に答える
1

VisualWxを試してください。GUI デザイナーは非常に優れていると思います。ただし、IDE はかなり初歩的なものです (コード補完、デバッグなどはありません)。私の作業パターンは、VisualWx と、Komodo Edit/Netbeans などの優れたエディターを使用することです。同時に開き、必要に応じてそれらを切り替えます。

于 2009-04-29T19:39:42.400 に答える
0

いくつかのミッション クリティカルなアプリに wxGlade を使用しました。wxが少し苦手な方には大変かもしれませんが、慣れれば素晴らしいツールです。

于 2009-04-29T06:51:16.990 に答える
0

実際には GUI IDE ではありませんが、JSON ファイルで Tkinter GUI を定義できます: https://github.com/tmetsch/pytkgen

于 2011-05-27T12:19:52.117 に答える