Python.use(better) #課題:Tutor《Tkinter 版》

記事一覧 Python.use(better)《Python3.1》

課題:Tutor《Tkinter 版》

《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

基礎編で利用した学習ツールを作成する過程を通して「プログラミング」の理解を深めます。
※ Tcl/Tk で作成した例題を、Python3.1 で再構成しました。


episode 《応用編》
2002-10-21 ★★★ Python.use(better) #Tutor: step00 -- Tk()
新たなウィンドウが現れます。メソッド title を利用して、ウィンドウのタイトルを設定できます。メソッド geometry を利用して、ウィンドウの大きさを設定できます。メソッド mainloop を利用して、イベント処理を可能にします。
2002-10-22 ★★★ Python.use(better) #Tutor: step01 -- class Tutor(object):
テキスト領域(上部)には、任意のテキストを入力できます。フレーム Frame 内には、任意の widget を配置できます。テキスト Text 領域には、任意の文字列を表示できます。
2002-10-23 ★★★ Python.use(better) #Tutor: step02 -- def create_controller(self, master, target):
リスト領域(下部)では、任意の項目を選択できます。リスト Listbox 領域には、任意の項目を表示できます。メソッド insert を利用して、リストに項目を追加できます。
2002-10-24 ★★★ Python.use(better) #Tutor: step03 -- def __call__(self, widget):
特殊メソッド __call__ は、メソッド呼び出し () に呼応して、その動作を規定します。メソッド bind を利用して、リストを選択したときの動作を規定できます。引数に指定したイベント(ダブルクリック)が発生すると、指定した関数が呼び出され、特殊メソッド __call__ に帰結します。特殊メソッド __call__ では、実引数を介して、Listbox を参照できます。
2002-10-25 ★★★ Python.use(better) #Tutor: step04 -- def create_Frame(self, master)
リファクタリングを実施して、Frame を生成するコードの断片を、独立したメソッドとして抽出します。新たに生成した Frame のインスタンス widget をリターン値にします。frame の傘下に、他の部品 widget を配置します。
2002-10-28 ★★★ Python.use(better) #Tutor: step05 -- def create_Scrollbar(self, master, listbox, orient)
部品の操作に合わせてスクロールバーを再表示するには、テキスト部品 Text をスクロールバー Scrollbar に関係付けておきます。すると、テキスト部品を操作してイベントが発生したときに、xscrollcommand を介して set が起動されます。スクロールバーの操作に合わせて部品を再表示するには、スクロールバーをテキスト部品に関係付けておきます。すると、スクロールバーを操作してイベントが発生したときに、command を介して xview が起動されます。
2002-10-29 ★★★ Python.use(better) #Tutor: step06 -- def create_view(self, master)
格子を使って、任意の widget を配置できます。横方向 EW にスクロールバーを配置します。縦方向 NS にスクロールバーを配置します。
2002-10-30 ★★★ Python.use(better) #Tutor: step07 -- def do_help(self, view, target, item)
特殊属性 __doc__ を参照すると、文書化文字列が得られます。組み込み関数 eval を利用して、実行時に確定するコードの断片を評価します。
2002-10-31 ★★★ Python.use(better) #Tutor: step08 -- def do_test(self, view, target, item)
リスト領域の幅 width= を、最大長の項目を表示するのに必要な長さに設定します。組み込み関数 max を利用すると、各項目の長さ len(e) の中から最大値が得られます。
2002-11-01 ★★★ Python.use(better) #Tutor: step09 -- def eval_tips(self, view, target, item)
選択した項目に相当するテストケースを実行して、その結果をテキスト領域に表示します。そのテストケースが見つからないと、例外 NameError を捕捉して、except ブロックを実行します。標準出力 stdout を切り替えるだけで、その出力結果をファイルに保存できます。
□□□□□□

事例:モジュールを起動する

■ 全項目を確認する

全ステップの「項目」を確認するには、関数 do を利用します。

$ python -i tutorTk.py
>>> do()
0: step00 -- Tk()
1: step01 -- class Tutor(object):
2: step02 -- def create_controller(self, master, target):
3: step03 -- def __call__(self, widget):
4: step04 -- def create_Frame(self, master):
5: step05 -- def create_Scrollbar(self, master, listbox, orient):
6: step06 -- def create_view(self, master):
7: step07 -- def do_help(self, view, target, item):
8: step08 -- def do_test(self, view, target, item):
9: step09 -- def eval_tips(self, view, target, item):
>>>

》こちらに移動中です《
TOP


関連記事

Last updated♪2009/12/14