[#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:42359] Re: TkCanvasの座標
From:
Masato Ishimoto <i@...>
Date:
2006-06-04 23:04:42 UTC
List:
ruby-list #42359
おはようございます。いしもとです。
永井さん、アドバイスありがとうございます。
On Jun 5, 2006, at 3:45 AM, Hidetoshi NAGAI wrote:
>> 2につきましては、アドバイスいただいたコードでも状況は変わ
>> りま
>> せんでした。
>> 具体的には、提示いただいたコードによって、
>> ・x座標の表示は改善され、左端の縦線も表示されるように
>> なった。
>> ・しかし、y座標は相変わらずずれたまま。y座標を
>> 0に設定すると線が表示されない。
>> ・y座標の値を1にすると線が表示される。これにカー
>> ソル
>> を乗せると、y座標は0。
>> という状況です。
> x_line = TkcLine.new(canvas, 0, 1, 200, 1) で描画した線の上に
> カーソルをきちんと重ねたにもかかわらず,
> y 座標が 0.0 と表示されるということでしょうか?
> 同様に x_line2 = TkcLine.new(canvas, 0, 50, 200, 50) と
> したとしたら
> カーソルをきちんと重ねた場合に y 座標が 49.0 と
> 表示されるということでしょうか?
はい。カーソルがtcrossですので、黒い線の上にカーソルを合わ
せると
白く反転します。それを基準にすると、y座標は必ず1ずれ
ています。
x_line2 = TkcLine.new(canvas, 0, 50, 200, 50) とした場合、
y座標は
49.0となってしまいます。
> だとすると,これは奇妙な状況です.
> 間違いなくその通りなら,Tcl/Tk 上の問題かもしれません.
> 念のため,scrollregion を [0, 0, 201, 201] とした
> 上で
> canvas.bind('Motion',
> proc{|x, y|
> enx.text = "#{x}:#{xp=canvas.canvasx(x)}"
> eny.text = "#{y}:#{yp=canvas.canvasx(y)}"
> },'%x %y' )
> などとして確認してみていただけないでしょうか.
> ついでに Tk::TK_PATCHLEVEL の値もいただけると嬉しいです.
この状態でx_line2とy_line2の交点にカーソルを合わせる
と、
x= 53 : 50.0
y= 52 : 49.0
と表示されます。
Tk::TK_PATCHLEVELは8.4.7と表示されました。
因みに、前回のお話の中にあったcanvas.winfo_widthと
canvas.winfo_heightもpしてみましたが、両方とも1と表示
されました。この辺りも??です。
OSなども関係しているのでしょうか・・・?
以下、今回のコードです。
________________________________
require 'tk'
xp=0
yp=0
root=TkRoot.new
f=TkFrame.new(root)
lbx=TkLabel.new(f){text 'x='}.pack('side'=>'left')
enx=TkLabel.new(f){text xp}.pack('side'=>'left')
lby=TkLabel.new(f){text 'y='}.pack('side'=>'left')
eny=TkLabel.new(f){text yp}.pack('side'=>'left')
f.pack('side'=>'top')
canvas=TkCanvas.new(root,
'height'=>201,
'width'=>201,
'scrollregion'=>[0,0,201,201],
'cursor'=>'tcross'
).pack('side'=>'top')
x_line=TkcLine.new(canvas,0,0,200,0)
x_line2=TkcLine.new(canvas,0,50,200,50)
y_line=TkcLine.new(canvas,0,0,0,200)
y_line2=TkcLine.new(canvas,50,0,50,200)
canvas.bind('Motion',
proc{|x, y|
enx.text = "#{x}:#{xp=canvas.canvasx(x)}"
eny.text = "#{y}:#{yp=canvas.canvasx(y)}"
},'%x %y' )
p Tk::TK_PATCHLEVEL # => 8.4.7
p canvas.winfo_width # => 1
p canvas.winfo_height # => 1
Tk.mainloop
_________________________________
いしもと まさと