[Python-ml-jp 2504] Tkinter Text Widgetでの行追加

Hiroyoshi Kajiwara hkaj @ ti.com
2003年 9月 17日 (水) 17:42:48 JST


はじめまして。梶原と申します。

Python 2.3 + Tkinterを利用してGUI部分を開発しています。
Startボタンを押したときに、Text Widgetにアプリケーション
の実行状況を順々に表示して行きたいので、以下のように
class MainForm(Frame)にaddlineというメソッドを追加しました。

 def addline(self, content):
    self.text.config(state=NORMAL)
    self.text.insert(END, content)
    self.text.yview(END)
    self.text.config(state=DISABLED)

これをテストする為に以下のような処理を、Startボタンを押した
時の処理に入れてみました。

   app.addline("Start\n")
   for i in range(10):
        oline = " Test #%d\n" % (i)
        time.sleep(0.2)
        app.addline(oline)

   app.addline("End\n")

これを実行したところ、『End』の表示の際に、『Start』から『End』
までの表示をまとめて行うようです。
これを順番に逐次表示するようにするには、どうすれば良いのでしょうか?
Tkinterのドキュメントを探してみましたが、どの機能を使えば良いのか
よく分かりませんでした。

ご教授宜しくお願い致します。




Python-ml-jp メーリングリストの案内