質問

Pythonを使用して小さなコマンドラインアプリケーションを開発した経験が少しあります。 Pythonを使用したGUIの開発に進みます。 Pythonで利用可能なGUIツールキットから、私が最も望んでいるのは wxPython Tkinter です。しかし、私はすべてのGUIを常に自分でコーディングしたくありません。

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

役に立ちましたか?

解決

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

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

  • DialogBlocks および wxDesigner は、Pythonコードを直接生成できる2つの商用ソフトウェアです。私はそれらの価格のためにこれらをあまりテストしませんでした。

  • wxGlade は、大規模なプログラムにはまだ十分ではありませんが、試してみる価値はあります。

これらすべてを試してみたところ、すべての欠陥があり、エディターでGUIを書くことほど良いものはないことに気付きました。問題は、拡張学習曲線です。ただし、GUIデザイナーを使用する場合よりもはるかに高速になり、コードの柔軟性が大幅に向上します。

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

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

他のヒント

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

どうやらGUIを手で書くか、PyQtに切り替えるかのいずれかです。

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

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

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

WingIDE を使用するコードについては、次の場合に優れたデバッガーと優れたソースコード補完を使用すると便利です。 wxPythonのような大きなライブラリ(または必要に応じてフレームワーク)を処理します。

より多くの自動化(したがって、よりいコード)が必要な場合は、最新バージョンの Boa を試してください。 、 ShowMeDo.com

に、紹介用の優れたスクリーンキャストがあります。

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

Python IDEとしてPyDevでEclipseを使用します(おそらく最適なソリューションではありませんが、かなりまともです)

GUIの開発では、中規模のプロジェクトにwxGladeを使用しましたが、WxPythonの概念を理解したものを使用するのは非常に簡単であることがわかりました。 XML生成は、実際のGUIデザインをプログラムロジックから分離するのに非常に役立ちます。

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

いくつかのミッションクリティカルなアプリにwxGladeを使用しました。 wxが少し苦手な人にとっては大雑把かもしれませんが、慣れると素晴らしいツールになります。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top