1 名前:デフォルトの名無しさん mailto:sage [2010/03/26(金) 22:19:36 ] Qt wx Tk GTK GNOME2 Shoes Fx Apollo Visualuruby IronRuby 色々選択肢はあるようですが続きは >>2 以降で
29 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:19:06 ] るびまの記事は最近のRubyのTcl/Tk対応具合はこんなですよって示す記事 Ruby/Tkの入門記事にはなってないよ ということで超労作のTkDocsチュートリアル www.tkdocs.com/tutorial/firstexample.html >>24 親ウィジェットに埋め込もうとしてるウィジェットを どの方向に伸ばすかって指定 Tkinterなら b1 = tk.Button(f. text='hoge'*10) b1.pack() b2 = tk.Button(f, text='fuga') b2.pack() これで一度ウィジェットの表示状況を見たら b2.pack(fill='x') してみるとよくわかると思う
30 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:21:15 ] >>27 あぁそうですね Pythonだと正しくはこう書かなきゃですね >>> import Tkinter as tk >>> f = tk.Frame(relief=tk.RIDGE, borderwidth=5) >>> f.pack(padx=5, pady=5) >>> b = tk.Button(f, text='hoge') >>> b.pack(padx=3, pady=3, fill=tk.X) >>> tk.mainloop()
31 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:23:57 ] ruby で require 'tk' すると x ってのが名前空間に割り込む訳ですか
32 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:26:30 ] ただのシンボルですがな。
33 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:28:04 ] >>29 fill='x' でも fill=tk.X でもどっちでもいいみたいですね Python はコマンド打つとリアルタイムに分かって初心者向にやさしいですね
34 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:28:49 ] とまあ何かGUIツールキットを使おうとすると、言語自体と ツールキット両方を並行して学ぶことを迫られるわけで。
35 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:29:46 ] >>32 えっ
36 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:32:31 ] 16時からtv東京で始まる特別番組見ないといけないので18時頃まで落ちます いろいろ助言して下さった方ありがとうございました ノシ
37 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:40:05 ] >>35 シンボルだから :x たとえばこんなのと一緒 require 'tk' TkLabel.new(nil, :text=>:hage).pack Tk.mainloop
38 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 14:47:49 ] >>28 それはpackの戻り値がNoneだから Tkinterでは b = Button(...) b.pack() のように二行に分けて書くのが常道
39 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 15:23:30 ] Rubyの知識ないのになんでRuby/Tkに手を出したんだ
40 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 15:29:14 ] >>39 将来どうなるかはわかんないけど、 現状は tk ライブラリの .rb スクリプト読んで動作推測できるレベルじゃないと早晩詰まるよね もっと簡単であるべきなのはまあ確かだが、実際はそうなってないししばらくはこのままだろう
41 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 15:59:18 ] ところでRuby/Tkのマニュアルってどこにあるんだい
42 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 16:08:04 ] >>41 ソース読め みんなそうやって使ってる
43 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:01:56 ] >>33 > Python はコマンド打つとリアルタイムに分かって初心者向にやさしいですね つ irb
44 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:23:25 ] いや、そういうことじゃなくって Ruby/Tkだとpackしても画面に反映されず mainloopに入ってはじめて反映されることを言ってるんだと思う 回避策もあると思うけど漏れは知らない 誰か教えてくれるだろう
45 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:34:24 ] Pythonのはいわゆるwishの機能をそのまま使ってるのだろうな > wish (デスクトップ) 1 % label .txt1 -text いいからTcl/Tkそのまま使え .txt1 (デスクトップ) 2 % pack .txt1 (デスクトップ) 3 %
46 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:10:14 ] PythonのTkinterもwishを起動してIPCしてるとかそういうことはないよ 回避策だけどThread.new{Tk.mainloop}すればいいとのこと 学習用ならこれで十分かも > irb require 'tk' Thread.new{Tk.mainloop()} f = TkFrame.new().pack() b1 = TkButton.new(:parent=>f, :text=>'OK').pack() # この時点で反映 b2 = TkButton.new(:parent=>f, :text=>'EXIT').pack() exit # irbもウィジェットも終了 そしてネタ元の永井先生のサイト www.dumbo.ai.kyutech.ac.jp/nagai/RubyTk/? Ruby%A4%CE%A5%BD%A1%BC%A5%B9%A4%CB%C5%BA %C9%D5%A4%CE%A5%B5%A5%F3%A5%D7%A5%EB
47 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 04:22:17 ] Windowsだとirbで Thread.new{Tk.mainloop} がうまくいかないです Ruby/Tkのサンプルコードにあるirbtkw.rbwを使うと Ruby/Tk側でコンソールをエミュレートしてその上でirbを動かすことで 対話的にRuby/Tkを使えます
48 名前:Tcl使い [2010/03/29(月) 04:24:37 ] >>24 rubyのtkがTcl/Tkのtkと仮定して。 RubyもPythonも使ったことはないが、Tcl/Tkでいうところの "-fill"は>>29 で説明しているように 親ウィジェットに埋め込もうとしてるウィジェットを どの方向に伸ばすかという指定になる。 >>29 でのサンプルのように、テキストの長さが違う ボタンウィジェットを2つパックしてみると-fill指定ありと なしの違いがよくわかる。 言い方を変えるとfillオプションの"x"は frameウィジェットとframeウィジェットに詰め込まれている buttonウィジェットとの左右の余白部分をbuttonウィジェット を水平方向に引き伸ばして埋めるという意味になる。 Tcl/Tkの-fillオプションの値 x:水平方向に伸ばす。 y:垂直方向に伸ばす。 both:上下左右に伸ばす。 none:無効 packのデフォルトはフレームの上辺(top)から順番に詰める ので余白ができるのは左右だけになる。 よって"y"を指定しても変化しない。 Rubyで -expand yes 相当の指定ができる場合はx,y,both,none の違いをWindowをマウスで広げることにより確認できると思われる。 Tcl/Tkのpackの仕組みが穴埋めモデルであることを理解する必要がある。
49 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 04:42:57 ] fxみたいにコンパイルするだけでGUI込みの実行形式に変換できる奴とかもっと増えればいいな
50 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 07:24:34 ] Tclerキター!これで勝つる
51 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 07:34:03 ] こうしてTcl/Tkのマニュアルすら読んでないことを自ら露見させ馬脚を現したのだった
52 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 07:35:05 ] >>38 なんで pack() の戻り値を self にしなかったんだろうなとは思う
53 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 07:39:14 ] >>51 …まあ、Ruby/Tkはその構造上 「Tcl/Tkではこう書いていたものをRuby経由ではこう書きます」 という以上の導線はないよね… Tcl/Tkをある程度修めていることが使用の大前提ではある Ruby/Tkを使うなら、外見上はTcl/Tkで同じものを作れないと駄目
54 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 07:49:42 ] Ruby/Tkでの転記の仕方さえ覚えればTkのチュートリアルや解説が流用できるということでもある 実質、「Tcl/TkでのこれはRuby/Tkではどう書くのだろう」という調べものがメインになると思う
55 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 08:49:20 ] 最初から Tcl/Tk で書けば良くね?
56 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 12:32:49 ] >>55 ちょっと上のレスにも似たようなのがあったけど、別にウィンドウアプリケーション作るのが目的じゃないから Ruby/Tkを使うことが目的だからその指摘は的外れ
57 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 15:54:03 ] >別にウィンドウアプリケーション作るのが目的じゃないから イミフ
58 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 18:40:21 ] 勉強最下位 $ ruby require 'tk' TkTable.new(:ros=>5, :cols=>5).pack Tk.mainloop -:2: uninitialized constant TkTable (NameError) >>> import Tkinter as tk >>> t = tk.Table(rows=5, cols=5) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'Table' >>> import tktable Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named tktable orz
59 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 19:09:47 ] tktable は tk と別にパッケージをインストールする必要がある
60 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 19:57:55 ] TkTable.2.10.tar.gz をダウンロードしたんだけど cygwin でも msvc でも make しようとすると tktable.tcl.h が見つからないっていわれる ぐぐっても英語のページしか出て来ないし いまいちピントのずれたサイトばかり だれも使ってないのだろうか
61 名前:デフォルトの名無しさん [2010/03/29(月) 19:59:25 ] 馬鹿には使えないことが証明されました
62 名前:デフォルトの名無しさん [2010/03/29(月) 20:00:10 ] wxRuby とか RubyQt とかならこんなに苦労しなくても済むのかなぁ
63 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:01:22 ] >>58 rubyとだけタイプしてコード書くよりirbを推奨。 readlineが使えるなら irb -rreadline おすすめ。 # mainloopするまでフィードバックはないことについては # 上のほうになんか解決策があった気がする。 pythonの対話モードと似たようなものだ。 # ipythonってのもあるんだな…
64 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:15:56 ] >>58 求めてるのがこれかはわからないし >>59 のtktableとは別物かもしれないけれど # ActiveTcl 8.5 + ActiveScriptRuby 1.8.7 require 'tk' require 'tkextlib/tktable' t = Tk::TkTable.new(:rows=>5, :cols=>5) t.pack() Tk.mainloop()
65 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:18:16 ] Ruby-Gnome2マンセー
66 名前:デフォルトの名無しさん [2010/03/29(月) 20:21:27 ] >>63 ありがとうございます >>64 $ ruby require 'tk' require 'tkextlib/tktable' t = Tk::Tktable.new(:rows=>5, :cols=>5) t.pack() Tk.mainloop() /usr/lib/ruby/1.8/tk/package.rb:86:in `require': TkPackage can't find package Tk table (RuntimeError) from /usr/lib/ruby/1.8/tkextlib/tktable/tktable.rb:16 from /usr/lib/ruby/1.8/tkextlib/tktable.rb:14:in `require' from /usr/lib/ruby/1.8/tkextlib/tktable.rb:14 from -:2:in `require' from -:2 やっぱりだめですね TkPackageが入ってないってことですかね
67 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:29:22 ] コピペもできない子は先生もう知りません
68 名前:デフォルトの名無しさん [2010/03/29(月) 20:32:28 ] すみません t = Tk::TkTable.new(:rows=>5, :cols=>5) でもだめです
69 名前:デフォルトの名無しさん [2010/03/29(月) 20:33:55 ] >>66 TkPackageが入ってないんじゃなくて TkPackageからTkTableをロードしにいくところで TkTableが無いと言われているだけ 結局TkTableをインストールしないといけない
70 名前:デフォルトの名無しさん [2010/03/29(月) 20:34:51 ] もはやRuby側の問題じゃない罠
71 名前:デフォルトの名無しさん [2010/03/29(月) 20:35:49 ] みなさん色々アドバイスありがとうございます なんかもう気力が無くなりつつあります こんなに面倒だからみんな語りたがらないんですね
72 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:36:29 ] irb使えとあれほど(ry
73 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:37:18 ] てか、何でTk使うんだ?
74 名前:デフォルトの名無しさん [2010/03/29(月) 20:39:30 ] Ruby初心者スレでRubyXXの中ではRuby/Tkが一番相性が良い とかなんとか言ってる方がいらっしゃったので・・・
75 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:41:27 ] Tkを窓から捨てろ いますぐニダ
76 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:51:55 ] あきらめて Ruby/Qt にしようと思ったら ttp://takahr.dhis.portside.net/cgi-bin/rwiki.cgi?cmd=view;name=Ruby%2FQte 落ちてる orz
77 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:53:49 ] ttp://sfns.u-shizuoka-ken.ac.jp/geneng/horie_hp/ruby/horie_prog_jp.html こっちもだめだ orz
78 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:55:44 ] wxRuby は rake と SWIG が必要? またトラブりそうだなぁ
79 名前:デフォルトの名無しさん [2010/03/29(月) 20:56:34 ] Rubyを窓から捨てろ いますぐニダ
80 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:57:24 ] 馬鹿には使えないことが証明されました
81 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:11:56 ] しかしなんでまた一足飛びにTkTableを使おうなどと思ったのか
82 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:19:15 ] 100マス計算の出題・採点ソフトを作りたかったのです
83 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:26:33 ] gridでよくね?
84 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:27:49 ] ウインドウを左右二つに区切って 左に100ます、右に入力欄 右の入力欄の入力に応じて左の100ますを書き換える これならTkでも十分できるんじゃないか
85 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:31:46 ] すみません 縦が(x+a)で横が(x+b)の掛け算の場合 xの2乗+ax+bx+ab を入力したら正解にしたいのですが どういう判定をすればよいのか分かりません
86 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:33:30 ] x**2+(a+b)x+ab が正解のような
87 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:34:24 ] GUI関係ねーし
88 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 21:35:39 ] 「xの2条」とかをxの右上に2があるように表示するのは GUIじゃないと出来ないですよね?
89 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 23:01:42 ] >>88 回答としては、canvasに小さめのフォントで描く、なんだろうけど、 とりあえずあなたの目的にとっては本質的じゃないからあとまわしに して x^2 のような仮表示にして先に進んだほうがいいと思う。
90 名前:デフォルトの名無しさん [2010/03/30(火) 18:40:53 ] tkってnanの略? ちんこだろjk
91 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:21:59 ] >>78 初心者スレの荒らしじゃないけど、悪いことイ・ワンからGUIしたいだけならC#にしとけw 俺もGUIも全部Rubyでやりたいなどと日頃から思うけどさすがに・・・
92 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 12:03:29 ] Ruby で GUI って結局どこの馬の骨か分からんフレームワークを 必死で寄せ集めて試行錯誤してやっと使えるようになるかなってレベル それに出来上がったのを exe にしようとするとまた苦労が待っている Python に比べると激しく茨の道としか思えない
93 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 12:21:11 ] >>92 ここで聞くのもアレなんだけど、 PythonのGUIツールキットはTortoiseHgやらDropboxなどの製品でも使われてみたいだけど どういう違いがあるんだろ。 exe化しにくい他に。 Pythonの環境は参考になるんじゃないかな。 そもそもGUI望まれてなくて、今時webアプリでいーじゃんという意見は半分は同意したいがw
94 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:11:35 ] たとえばTcl/Tk自体は歴史のあるGUIツールキットだ(X上では安定) それをきちんとした統合度で呼んでるきちんとした言語があればそれが使われる Pyhotn部分がしっかりしていたから使われただけ それがRubyじゃなかったのは、RubyがPythonじゃなかったから
95 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:20:37 ] まあ、Python on RailsじゃなくてRuby on Railsだったかは、 PythonがRubyじゃなかったから、ということか どっちも・・・
96 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:22:21 ] webあぷりじゃできなことってまだいっぱいあるからな
97 名前:デフォルトの名無しさん [2010/03/31(水) 14:23:41 ] WEBだけの言語といわれるPHPでさえこういうのあるよ ttp://hirata-create.lar.jp/?page=HC-Standalone-B で、これでEXE化したソフトなんかもJRA-VANに登録してある ttp://jra-van.jp/dlb/sft/lib/oddscorejv.html でもこういうのできるのは、技術的問題以前にライセンス形式にあるな。 一般の人に配布する場合、EXE内または外に母体となる何らかのバイナリが必要だろ そういう意味では、PHPやPyhotn(BSD系)は有利でもPerlとRuby(GPL系)は不利。 だからRubyでGUI考えるぐらいならC#かVBで作った方が手っ取り早いぞ。
98 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 15:07:00 ] なぜ突然EXE化の話になってるんだぜ
99 名前:デフォルトの名無しさん [2010/03/31(水) 15:32:05 ] GUIであるからにはEXEになってねーと意味ねーよ
100 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 16:04:52 ] WEB上のGUI・・・苦しいかwwww
101 名前:デフォルトの名無しさん [2010/03/31(水) 17:07:52 ] >>100 WEB上のGUIって何?
102 名前:デフォルトの名無しさん [2010/03/31(水) 17:26:54 ] RubyでGUIやるのは時間の無駄、言語は適材適所で使うもの。
103 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 18:25:03 ] 老婆心の塊のようなスレだなw
104 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 19:49:26 ] EubyでGUIはムリポを実証するスレです
105 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 20:16:53 ] CGIにしてUIはWebブラウザで、というのが幸せな気もしなくもない
106 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 21:13:02 ] Python+Tkで100ます計算作ってみたがそれなりのものができた Tkはいいものだ Ruby/Tkは場合によってはRubyの再コンパイルが必要なのが痛い気がする
107 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 21:19:58 ] >>106 >場合によってはRubyの再コンパイル 静的リンクしてるならともかく、 ext/tk だけでいいんじゃないの?
108 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 22:44:24 ] >>107 Tcl/Tkが入ってない環境でコンパイルされたRuby (結果としてtcltklib.soも作られない)なんかは やっぱり再コンパイルが必要になるんじゃない?
109 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 23:44:30 ] tcltklib.soはext/tkをコンパイルすればその中に作られるよーな。
110 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 02:14:56 ] Tkinter は Python 入れるだけで使えるからなぁ Ruby は GUI 環境は標準では何も入らないだろ?
111 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 08:47:22 ] >>100-106 スレタイがGUIってなってるけど話題的にはwebアプリのGUIは含まない雰囲気(←Google日本語だと何故か変換できる)だよね。 webアプリの技術でデスクトップアプリとなるAIRなんかになるかと思うけど、 それっぽいのも探してみた。 Appcelerator Titanium DesktopでRuby,Python,PHPを使ったお手軽デスクトップアプリ開発その1 - 仙台 Rails Vim JavaScript社長 d.hatena.ne.jp/yuichi_katahira/20100219/1266605194 Ruby,Python,PHP,JavaScriptでマルチプラットフォームなデスクトップアプリを簡単に作成する Appcelerator Titanium Desktop - 仙台 Rails Vim JavaScript社長 d.hatena.ne.jp/yuichi_katahira/20100219/1266592521 Titanium Desktop Application Development | Appcelerator www.appcelerator.com/products/titanium-desktop-application-development/
112 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 08:59:33 ] >>111 HTA のことじゃね?
113 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:02:14 ] つ ttp://SmartClient.com つ ttp://ExtJS.com
114 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:09:29 ] >>111 よこからありがとう でもそれをここでやるとjavascriptの話題ばかりになってruby関係なくなるかもなぁ
115 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:15:37 ] >>110 標準でTkが入る。
116 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:22:07 ] 場合によっては って書いてあるのに無視する(見落とす/気付かない振りをする)おまいら素敵
117 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 09:56:40 ] >>111 JavaScriptやRuby, phpでネイティブアプリが作れる!って振込に フランスに渡米した感じだw
118 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 10:06:55 ] >>115 コンパイルオプションをつけると Tk 用ライブラリがインストールされる、の間違いだろ あれは「オプショナル」だと思う
119 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 11:15:41 ] えっ?
120 名前:デフォルトの名無しさん mailto:sage [2010/04/01(木) 12:36:15 ] >>118 デフォルトで、tkが入ってれば見つけて作ってくれるわけだが。
121 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 12:44:23 ] ディストリビューションによっては別パッケージになってる、って話じゃないの? そういうディストリビューションがあるかどうかは知らんけど。
122 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:16:14 ] Ruby が Tk モジュールを持っていても あらかじめ Tcl/Tk が入っていないと使えないっていう話だろ Python の場合は Tcl/Tk が入っていなくても Tkinter が使える
123 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:20:54 ] >>122 その場合必要なのはTkのインストールであって Rubyの再コンパイルではないのではないか?
124 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:24:50 ] Macだけど、 $ otool -L /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/_tkinter.so /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/_tkinter.so: /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl (compatibility version 8.4.0, current version 8.4.0) /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk (compatibility version 8.4.0, current version 8.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) Tcl/Tkなくてもこれ動くのか。
125 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:30:56 ] さすがにそんなことはないよな。 $ sudo chmod 750 /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk $ python <snip> >>> from Tkinter import * <snip> ImportError: dlopen(/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/_tkinter.so, 2): Library not loaded: /System/Library/Frameworks/Tk.framework/Versions/8.4/Tk Referenced from: /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload/_tkinter.so
126 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 13:40:40 ] _tkinterはTclインタプリタやらTkライブラリへのインタフェースだよ なのでTclやTk自体が入ってなければ動かない ただWindowsのPythonバイナリ配布物はTclやTkがDLLで同梱されてるので ActiveTclを別にインストールする必要が無いってだけ
127 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 22:48:02 ] 「Pythonだとできる」って言っている人は、本気で誤解しているのか、ミスリーディングしようとしているのか…。
128 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 11:06:24 ] 直接のインポート対象ファイルが Tkinter.py という拡張子だから pure pythonだと思い込んでいた、というオチがありそう。
129 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 19:51:12 ] 画面をキャプチャして pngファイルを出力する プログラムを書きたいです クリップボードに入れて 他のアプリにもコピペしたいです 何から手をつければ良いですか windowsです