部品を識別する:Walk

ウィンドウに配置されたコントロール部品を識別できると、コードを記述するときに便利です。それを支援するのが、関数 Walk です。


controls = {}
for e in Walk(win):
if hasattr(e, "Name"):
controls[e.Name] = e
button = controls["button"]

ここでは、辞書 controls を使って(ウィンドウ win に配置された)コントロール部品を管理します。すると、文字列キーを使って、各コントロールを識別できます。この手法は、種々のコントロール部品を統一的に扱いたいときには便利です。XAML ファイル apple.xaml には、次のように記述されています。

このボタンを識別するために、プロパティー Name="button" を設定しておきます。すると、この文字列を使って、あるボタン controls["button"] を識別できます。ただし、変数 button を使ってこのボタンを参照するためには、工夫が必要です。