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 で再構成しました。
- 2002-10-12 Python.use(better) #課題:Tutor《source code》
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