[#42355] TkCanvasの座標 — Masato Ishimoto <i@...>
はじめまして。Newbieいしもと といいます。
12 messages
2006/06/02
[#42356] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/03
永井@知能.九工大です.
[#42357] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
こんにちは、いしもとです。
[#42358] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/04
永井@知能.九工大です.
[#42359] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
おはようございます。いしもとです。
[#42373] My/SQL/Ruby for Windows での不具合 — 林 浩一郎 <NQA58508@...>
subscribe Koichiro Hayashi
5 messages
2006/06/09
[#42375] String#count, String#deleteの利用想定 — Daisuke Yamazaki <yamajaki@...>
こんにちは
6 messages
2006/06/10
[#42389] ruby -Ks -rjcode -e"p('|%5.5s|'%'泣き別れ')" #=> "|泣き怖" — take_tk <ggb03124@...>
たけ(tk)です
7 messages
2006/06/12
[#42394] eachはなぜ元々のオブジェクトが返るのか? — Fujioka <fuj@...>
藤岡です。
7 messages
2006/06/12
[#42416] ファイル中の空行の削除方法 — 遠藤 大二 <dendoh@...>
遠藤@札幌です
6 messages
2006/06/18
[#42423] 空白行を除くための行数の数え方 — 遠藤 大二 <dendoh@...>
遠藤@札幌 です
9 messages
2006/06/19
[#42428] toplevel ウィジェットにイベントがわたらない? — Hiroshi Kimura <Hiroshi.Kimura@...>
九工大、木村といいます。
8 messages
2006/06/20
[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>
出沢です
22 messages
2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/22
From: しん <[email protected]>
[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <[email protected]>
[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <[email protected]>
[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です。
[#42465] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <[email protected]>
[#42475] String#first, String#last — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
6 messages
2006/06/23
[ruby-list:42360] Re: TkCanvasの座標
From:
Hidetoshi NAGAI <nagai@...>
Date:
2006-06-05 02:05:29 UTC
List:
ruby-list #42360
永井@知能.九工大です. From: Masato Ishimoto <[email protected]> Subject: [ruby-list:42359] Re: TkCanvasの座標 Date: Mon, 5 Jun 2006 08:04:42 +0900 Message-ID: <[email protected]> > はい。カーソルがtcrossですので、黒い線の上にカーソルを合わせると > 白く反転します。それを基準にすると、y座標は必ず1ずれています。 > x_line2 = TkcLine.new(canvas, 0, 50, 200, 50) とした場合、 > y座標は 49.0となってしまいます。 (snip) > この状態でx_line2とy_line2の交点にカーソルを合わせる > と、 > x= 53 : 50.0 > y= 52 : 49.0 > と表示されます。 ふむ.だとすると,この点については tcross カーソルの問題と 考えた方がいいのかもしれません. つまり,カーソルで実際にポインティングしているとされている位置が カーソルビットマップの横線の 1 pixel 上になっているのかもという話です. ものは試しですので,カーソルを tcross ではなく crosshair にしてみると どうなるでしょうか? > 因みに、前回のお話の中にあったcanvas.winfo_widthと > canvas.winfo_heightもpしてみましたが、両方とも1と表示 > されました。この辺りも??です。 あ,winfo_width 等は,画面上に表示する前には正しい値を示しません. winfo_width 等を出力する前に Tk.update_idletasks を実行して 表示の更新処理を実行すれば期待した値が得られるはずです. この場合に限らず,表示が更新されるような処理を呼び出した後に 更新後の表示の情報を正しく得たい場合には 先に Tk.update_idletasks を呼び出すべきです. 種々のイベントへの即応性を優先するため,表示の更新は遅延され, 他に処理待ちのイベントが存在しないとき (アイドルタスク時) に 呼ばれる仕組みになっています. ですので,明示的に Tk.update_idletasks を呼び出さなければ その時点で表示更新が完了しているかどうかは保証されません. もちろん,Tk.update でアイドルタスクを含むすべてのイベントを 処理してもいいわけですが,今のケースで必要なのは表示更新だけなので Tk.update_idletasks の方が適切でしょう. -- 永井 秀利 (九工大 知能情報) [email protected]