MacPythonについてのページ(よ)>
Python(MyApp) で Mac アプリケーションを作る|目次

第2回 speakwin モジュールを書く


このページの目次

speakwin モジュールファイルにWin クラスを書く
ここまでのまとめ


speakwin モジュールファイルにWin クラスを書く

「speakwin.py」という名前のファイルをエディタで作ります。
保存場所は MyApp.py と MyApp.rsrc と同じフォルダ内にして下さい。

こんなふうに。

speakwin.py 保存した

モジュールの中身を書いていきます。ファイルspeakwin.pyに以下のように書いていきます。

Wウィジェットを使ったアプリを作っていくので、まず import を書きます。

import W

Win クラスがあって、そのインスタンスを作るとウィンドウが表示される、というものを作っていくんでした。それで...

class Win(W.Window):
  #メインウィンドウのクラス
  def __init__(self):
    #ウィンドウを表示

class Win(W.Window):

ウィンドウを作るために、Wウィジェットの Windowクラスを継承しています。

def __init__(self): につづけて実際のウィンドウ枠の設定なんかを書いていきます。

    W.Window.__init__(self, (10, 40, 250, 180), 'SpeakText', fontsettings = 
      ('Osaka',0,12,(0,0,0)))
W.Windowの__init__メソッドを実行することで、設定しています。
(10, 40, 250, 180) はウィンドウのポジション/サイズ(ディスプレイ画面の左端から10、上端から40、幅250、高さ180)
'SpeakText' はウィンドウのタイトルバーに表示されるタイトル
fontsettings はフォントの設定で、ここではフォント名Osaka、フォントスタイルはノーマル(ボールド/イタリックなどでなく)、サイズ12、色は黒(0,0,0)

ここまでできたので、実際に動かしてウィンドウを表示させてみましょう。
つづけて、

    self.open()

とします。この命令によりウィンドウを表示します。open メソッドは W.Window から継承しているものです。

ここまで書いた speakwin.py を保存して、MyApp.pyを実行します。実行するには MyApp.py をダブルクリック、あるいは MyApp.py を PythonInterpreter にドロップします。

PythonIDE で MyApp.py を開いて Run ボタンを押しても実行できません。エラーになります。
mi のPythonモードではコマンドキー+ R で Python インタープリタで実行できるので、MyApp.py と speakwin を mi で開いておいて、編集したり、ウィンドウを切り替えて実行すると便利です。

実行すると以下のようにウィンドウが表示されます。ここまでうまくいっているようです。

speakwin最初

ウィンドウが出ただけで、何もできません。FileメニューからQuitを選ぶか、コマンドキー+Q で終了します。

ここまでのまとめ

speakwin.py のここまでの内容は以下のようになります

import W

class Win(W.Window):
  #メインウィンドウのクラス
  def __init__(self):
    #ウィンドウを表示
    W.Window.__init__(self, (10, 40, 250, 180), 'SpeakText', fontsettings = 
       ('Osaka',0,12,(0,0,0)))
    self.open()

なお、Win クラスは以下のものでも同じように動きます。Python1.5.2 の PythonIDE のスクリプトメニューにある W ウィジェットデモは self.w という変数を定義して以下のように書いてありますね。

class Win:
  #メインウィンドウのクラス
  def __init__(self):
    #ウィンドウを表示
    self.w = W.Window((10, 40, 250, 180), 'SpeakText', fontsettings = 
      ('Osaka',0,12,(0,0,0)))
    self.w.open()

<▲このページのTOPへ>
戻る   次へ
Python(MyApp) で Mac アプリケーションを作る|目次
MacPythonについてのページ(よ)トップへ

by ©Hioryuki Yoshimura, 2002-2004.
Last modified at 2004/1/28