wxPythonを利用する
Webアプリケーションとネイティブアプリケーション
さて、それではwxFormBuilderを利用してGUIを作っていきます。DelphiやVisualBasicなどでWindowsアプリケーションを作られた経験のある方なら、同じような感覚でGUIをデザインすることができると思います。
このように、WYSIWYGでGUIをデザインしていくというのは昔からある取り組みですが、すぐにさわることができるということは非常に強力で、直観的です。この仕組み(フレームワークと呼んでも差し支えないでしょう)は、プログラミングを習得していくのに、とてもとっつきやすいと思います。
気を使うべきなのは、レイアウトシステムです。Layoutのパレットにいくつかのコンポーネント(wxPythonではウィジェットと呼びます)が見つかると思いますが、これらの動きを把握することができれば、思い通りのGUIを作っていくことができると思います。
また、HTMLでのデザインと同じ感覚でやっていこうとするとなかなかなじめないように思います。HTMLでは画面がスクロールするということ前提で、デザインをすることができますが、ネイティブアプリケーションではそのようなものはあまり見かけることはありません。お手本にするべきは、WindowsやMacのネイティブアプリケーションだと思います。
wxFormBuilderでGUIを作るときに気を付けること
wxFormBuilderではデザインやイベントの定義を行うことはできますが、操作した時のコードを記述することができません。wxFormBuilderにはデザインしたものをPythonのコードとして出力する機能(ショートカットはF8)が備わっていますが、出力されたコードを編集したとして、その後にGUIの修正をする必要が出た場合、編集したコードは上書きされて消えてしまいます。これを上手く解決するために、「継承」を利用します。出力されたコードを見てみるとよくわかりますが、デザインしたフォームがクラスとして宣言されています。これを継承して実際の画面を作りこんでいきます。wxFormBuilderはさらにそれを助けてくれます。上記のクラスを継承したスタブクラスを出力してくれる機能(ショートカットはF6)があります。
その際に、プロジェクトのプロパティをあらかじめ設定しておくといいでしょう。Object TreeからProjectを選択して、Object Propertiesを見てみると、「Name」と「file」というプロパティが見つかると思います。fileはF8によって出力されるファイル名を指定することができます。(指定しない場合はnonameというファイル名になると思います)
あとは出力されたスタブクラスに処理を書き込んでいけばいいでしょう。
コメント
コメントを投稿