From: Kikutani Makoto Date: 1997-11-20T14:50:46+09:00 Subject: [ruby-list:5369] Re: when should I call Tk mainloop? きくたにです。バグの件もどうもです。 Tue, Nov 18, 1997 at 02:45:05PM +0900 において aito@ei5sun.yz.yamagata-u.ac.jp さん曰く: > > # Pythonは疲れるから、はよrubyに戻りたい > > Python は本格的に書いたことがないのですが,やっぱり疲れます? やはりクラス中のselfの嵐がガンですね。 インデンテーションのみでブロック構造を表現するのは キーストロークを減らす意味では良いアイデアとは思いますが。 この手の言語って他にあります? オッカム(spell?)がそうだった 気がしますがよく覚えてない。 > > 問題は Tkのmainloop を呼ぶタイミングなのです。 > > データ全部受け取った後、mainloop を呼べれば簡単なんですが、 > > 上の話のようにそうではないのです。 > > メインでは部品を作った後 Tk.mainloop しておいて,別なスレッド > でソケットからの入力を待ち,必要に応じて描画をするというのでは > どうでしょう. すばらしい。 ありがとうございました。ようやく望みの動作ができました。 ここにポストしようと思いましたが、けっこう長くなったので よしときます。いずれホームページにでも置きます。 > 次の例は,標準入力から入力した文字列を text に書いていく > プログラムです. 最初Pythonで同じことやろうとしたのですが、だめでした。 こんなかんじ: --------------------------- from Tkinter import * import sys,os import thread c = 0 def read_stdi(): while 1: line = sys.stdin.readline() if not line: break if c: c.insert('end', line) c = Text() c.pack() thread.start_new_thread (read_stdi, ()) c.mainloop() --------------------------- なんだか同じthreadと言っても、Pythonとrubyじゃ意味が違うみたいです。 上の走らせるとPythonプロセスが三つもできてますからね。 -- 人生を背負い投げ 菊谷 誠(Kikutani Makoto) kikutani@eis.or.jp kikutani@jdc.ericsson.se hgf03701@niftyserve.or.jp http://www.eis.or.jp/muse/kikutani/