[#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: しん <dezawa@aliadne.net>
[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です。
[#42465] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42467] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢@なるほど、、、
[#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 <i@coo.net>
Subject: [ruby-list:42359] Re: TkCanvasの座標
Date: Mon, 5 Jun 2006 08:04:42 +0900
Message-ID: <2430C774-1AD1-4FB0-B308-F429E627D1AB@coo.net>
> はい。カーソルが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 の方が適切でしょう.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp