0

こんにちは、私は解決方法がわからない問題に遭遇しました。PyGtk を使用して Python で GUI を設計するチームと会ったところです。

画面上にクリック可能な領域がある GUI を作成する必要があります。画面を 12 の等しい領域に分割し、中央に 1 つの正方形を配置する必要があります。このように: http://imgur.com/PMT3m

ボタンを使おうと思ったのですが、ボタンが四角いです。写真のような形の違うボタンを作ることはできますか?ウィンドウのサイズを変更すると、これらのボタンのサイズが変更されますか?

私が考えたもう 1 つのオプションは、マウス クリックをリッスンし、クリックに関する位置データを収集し、それがあった領域に基づいて特定のメソッドを呼び出すアクション リスナーを作成することでした。このメソッドでは、静的を使用する必要があります。あまり望ましくない背景としての画像。できれば抵抗できるようにしたい。

誰かが前にこのようなことをしたことがありますか? もしそうなら、どのような方法を使用しましたか?コードを書く必要はありません。始めるにあたって助けが必要なだけです。どちらの方法がより正気だと思われますか? 私は他の python GUI ツールを使った経験があまりないので、pyQt や wxPython などの他の提案を受け入れます。

前もって感謝します!

4

1 に答える 1

1

クリックのフィードバックだけを取得する必要がある場合は、 を使用しGtkDrawingAreaてそこでマウス クリックをリッスンするだけで十分です。そのために静止画像を使用する必要はありません。カイロを使用して、描画領域のサイズに基づいて形状を描画するだけで、常に必要な形状になります。

ただし、大量のマウス操作 (図形のドラッグ アンド ドロップなど) を使用する予定がある場合は、 GooCanvasのようなキャンバスを使用することをお勧めします。

また、pyGTK は GTK 2 専用であり、Linux および Windows で使用できますが、GTK 3 の pyGObject によって廃止されていることにも注意してください (Linux では、現在、Windows 用の pyGObject の公式オールインワン インストーラーがないため)。

を描画するには、 GTK 2 のシグナルと GTK 3 のシグナルをGtkDrawingArea使用します。expose-eventdraw

于 2012-12-12T14:40:51.500 に答える