wxPython-GUIビルダーツール

手動コーディングで見栄えの良いGUIを作成するのは面倒です。ビジュアルGUIデザイナーツールは常に便利です。wxPythonを対象とした多くのGUI開発IDEが利用可能です。以下はそれらのいくつかです-

  • wxFormBuilder
  • wxDesigner
  • wxGlade
  • BoaConstructor
  • gui2py

wxFormBuilderは、wxWidgetGUIデザインをC ++、Python、PHP、またはXML形式に変換できるオープンソースのクロスプラットフォームWYSIWYGGUIビルダーです。ここでは、wxFormBuilderの使用法について簡単に紹介します。

まず、wxFormBuilderの最新バージョンをダウンロードしてインストールする必要があります。 http://sourceforge.net/projects/wxformbuilder/. アプリケーションを開くと、中央に空白の灰色の領域がある新しいプロジェクトが表示されます。

プロジェクトに適切な名前を付け、コード生成言語としてPythonを選択します。これは、次の画像に示すように、[オブジェクトのプロパティ]ウィンドウで実行されます-

次に、コンポーネントパレットの[フォーム]タブから[フレーム]を選択します。

[レイアウト]タブから垂直wxBoxSizerを追加します。

適切なキャプションを付けて、ボックスに必要なコントロールを追加します。ここでは、StaticText(ラベル)、2つのTextCtrlオブジェクト(テキストボックス)、およびwxButtonオブジェクトが追加されています。フレームは次の画像のようになります-

これらの3つのコントロールで展開とストレッチを有効にします。wxButtonオブジェクトのオブジェクトプロパティで、関数findsquare()をOnButtonClickイベントに割り当てます。

プロジェクトを保存し、F8キーを押して、開発されたGUI用のPythonコードを生成します。生成されたファイルの名前をDemo.pyとします。

実行可能なPythonスクリプトで、demo.pyをインポートし、FindSquare()関数を定義します。アプリケーションオブジェクトを宣言し、メインイベントループを開始します。以下は実行可能コードです-

import wx 
  
#import the newly created GUI file 
import demo  
class CalcFrame(demo.MyFrame1): 
   def __init__(self,parent): 
      demo.MyFrame1.__init__(self,parent)  
		
   def FindSquare(self,event): 
      num = int(self.m_textCtrl1.GetValue()) 
      self.m_textCtrl2.SetValue (str(num*num)) 
        
app = wx.App(False) 
frame = CalcFrame(None) 
frame.Show(True) 
#start the applications 
app.MainLoop()

上記のコードは次の出力を生成します-