誰でもウィジェットを選択/ドラッグ/ドロップし、grid
ジオメトリマネージャーを使用して適切なTkinter呼び出しと配置でそのレイアウトをPythonコードに変換できるGUIデザインアプリを知っていますか?これまでのところ、使用する可能性のあるかなり素敵なオプションをいくつか示しましたが、代わりにpack
またはplace
を使用してコードを生成します。
あなたがそれを言う前に:はい、私はTkinterが習得しやすいことを知っています。これは学習の労力を避けることではなく、仕事に適したツールを使用することです。プロジェクトロジックをコーディングするためのドラッグアンドドロップウィジェット環境は、プロジェクトが特定のサイズを超えた場合、あまりにもぎこちなく、管理不能であることがずっと前にわかりました-より大きなものについては、ロジックの構築と保守が簡単ですプレーンテキストの場合。最近、GUIの設計には逆のことが当てはまることがわかりました。テキストの作成はある程度までは機能しますが、30個または40個のウィジェットを備えたメインウィンドウと、それぞれが同様の複雑さを備えたサイドウィンドウがいくつかある場合、すべてを入力するのではなくグラフィカルに設計できれば、はるかに速く簡単になります。
Visual Pythonとも呼ばれるVisualTkinterがあります。開発は活発ではないようです。 sourceforge および googlecode サイトがあります。 Webサイト ここにあります 。
一方、 PAGE はアクティブで、python 2.7で動作し、 py3k
コメントで示したように、これらはいずれもgrid
ジオメトリを使用しません。私が言うことができる限り、それを行う唯一のGUIビルダーはおそらくKomodo Pro GUI Builderであり、これは廃止され、caでオープンソースになりました。 2007.コードは SpecTclリポジトリ にありました。
まだ使用していませんが、win7には問題なくインストールされているようです。これは私のPCからのスクリーンショットです:
ちなみに、 Rapyd Tk には、グリッドジオメトリを実装する計画もありましたが、そのドキュメントには「まだ」準備が整っていないことが記載されています。残念ながら、「ほぼ」放棄されたようです。
他の回答で既に与えられているオプションとは別に、 pygubu
と呼ばれる、よりアクティブで、最近の、オープンソースのプロジェクトがあります。
これは、githubリポジトリから取得した著者による最初の説明です。
Pygubuは、RAD tkinterモジュールのユーザーインターフェイスの迅速かつ簡単な開発を可能にするpythonツールです。
設計されたユーザーインターフェイスはXMLとして保存され、pygubu Builderを使用することにより、必要に応じてアプリケーションによって動的にロードできます。 PygubuはGladeに触発されています。
Pygubu hello world program は、Pygubu
を使用して最初のプロジェクトを作成する方法を説明する紹介ビデオです。
OS X Yosemite 10.10.2上のpygubu
デザイナーの最後のバージョンのインターフェイスのイメージの次のとおりです。
ぜひ試してみて、その開発に貢献してください。
グリッドを使用してレイアウトを行うための最適なツールであるIMHOは、グラフ用紙と鉛筆です。ある種のプログラムを求めていることは知っていますが、実際に機能します。私はTkプログラミングを数十年行ってきたので、レイアウトは非常に簡単になりますが、複雑なGUIを使用しているときはまだグラフ用紙を使用しています。
考えるべきもう1つのことは、Tkinterジオメトリマネージャーの真の力は、それらを一緒に使用することから得られるということです*。グリッドのみ、またはパックのみを使用するように設定した場合は、間違っています。代わりに、最初に紙の上でGUIを設計し、次にどちらかによって最適に解決されるパターンを探します。パックは特定のタイプのレイアウトに適した選択肢であり、グリッドは他の種類に適した選択肢です。非常に小さな問題の場合、場所が正しい選択です。ジオメトリマネージャーの1つだけを使用することに思考を制限しないでください。
*両方のジオメトリマネージャを使用する場合の唯一の注意点は、コンテナごとに1つだけを使用することです(コンテナは任意のウィジェットにできますが、通常はフレームになります)。