動作を確認したいなら


アプリケーションを実行するだけなら簡単です。任意のソースモジュール(たとえば apple.py)を、実行モジュール ipyw.exe までドラッグ&ドロップします。すると、次のようなウィンドウが現れます。



ipyw.exe では、コマンドプロンプトが現れません。そのため、アプリケーションの動作だけを確認したいときには、重宝します。

出力を確認したいなら

アプリケーションを実行するだけでなく、その出力を見て動作を確認したいときには、実行モジュール ipyw.exe の代わりに ipy.exe を利用します。すると、コマンドプロンプトには、次のような情報が出力されます。


>ipy.exe exWalk.py
IronPython.NewTypes.System.Windows.Window_1
System.Windows.Controls.StackPanel
System.Windows.Controls.Button: now
now
System.Windows.Controls.TextBlock

この出力を見て意図しないものがあれば、その原因を究明してソースコードを改良します。そのため、作成中のアプリケーションの動作を確認したいときには、重宝します。


1/2

《付録》apple.py


# -*- coding: utf-8 -*-
#===============================================================================
# Copyright (C) 2000-2008, 小泉ひよ子とタマゴ倶楽部
#
# History: WPF examples
# 2008/01/25, IronPython 1.1.1 (download)
# 2008/08/22, IronPython 1.1.2 (download)
# 2008/03/16, ver.2.0, WPF
# 2008/00/00, ver.2.1, IronPython 1.1.2
#===============================================================================
from _ant import *
from System.Windows import *
from System.Windows.Media import *

## --------------------
class ExWindow(Window):
def __init__(self, Content=None, **args):
self.InitializeComponent(Content)
self.init()

def InitializeComponent(self, Content):
self.Content = LoadXaml(Content)

def init(self):
target = "listBox", "colorBox"
self._Controls(target)
for e in self.colorBrushes():
self.listBox.Items.Add(e)
self.listBox.SelectionChanged += self.selectionChanged

def _Controls(self, target):
controls = xaml_controls(self)
for e in target:
setattr(self, e, controls[e])

def colorBrushes(self):
return [e for e in dir(Brushes)
if isinstance(getattr(Brushes, e), SolidColorBrush)]

def selectionChanged(self, sender, e):
s = sender.SelectedItem
self.colorBox.Background = getattr(Brushes, s)

## --------------------
if __name__ == "__main__":
xaml = __file__.replace(".py",".xaml")
win = ExWindow(
Title=xaml,
Width=250, Height=150,
Content=xaml,
)
Application().Run(win)

## --------------------

《付録》apple.xaml


<!--
# Copyright (C) 2000-2008, (^.^) piyo-piyo Tamago-Club
#
# History: WPF examples
# 2008/01/25, IronPython 1.1.1 (download)
# 2008/08/22, IronPython 1.1.2 (download)
# 2008/03/16, ver.2.0, WPF
# 2008/00/00, ver.2.1, IronPython 1.1.2

    • >

<DockPanel
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/sparkle">

<ListBox Name="listBox" DockPanel.Dock="Left" />
<Canvas Name="colorBox" />

はじめに

解説を始める前に、サンプルコードを実行する方法を紹介します。記事で紹介する事例はすべて、サンプルコードが収録されています。実際にその動作を確認しながら、記事の理解を深めるのにお役立てください。

《参照》最新の IronPython をインストールする手順は、公式サイトを参照してください。また(最新とは限りませんが)http://《準備中》 が参考になれば幸いです。□

サンプルファイルを含むフォルダー easyWPF をダウンロードしたら、これを(前にインストールした)フォルダー IronPython-1.1.1 と肩を並べて配置します。その中には、実行モジュール ipyw.exe および ipy.exe などが含まれます。また、収録したサンプルコードは、次に示すいずれかの方法によって、すべての動作を確認できます。

《参照》対話モードで動作を確認するには、IronPython-1.1.2/Tutorial/Tutorial.htm#T2.3 に収録されている項目 Exercise 3: Windows Presentation Foundation (Avalon) を参照してください。□

IronPython 2.0 のリリースが視野に入っているので、内容の改訂は機を見て行う予定です。