Ruby で GUI するスレ

■ このスレッドは過去ログ倉庫に格納されています
2010/03/26(金) 22:19:36
Qt
wx
Tk
GTK GNOME2 Shoes
Fx
Apollo
Visualuruby
IronRuby
色々選択肢はあるようですが続きは >>2 以降で
2010/03/29(月) 07:35:05
>>38
なんで pack() の戻り値を self にしなかったんだろうなとは思う
2010/03/29(月) 07:39:14
>>51
…まあ、Ruby/Tkはその構造上
「Tcl/Tkではこう書いていたものをRuby経由ではこう書きます」
という以上の導線はないよね…
Tcl/Tkをある程度修めていることが使用の大前提ではある
Ruby/Tkを使うなら、外見上はTcl/Tkで同じものを作れないと駄目
2010/03/29(月) 07:49:42
Ruby/Tkでの転記の仕方さえ覚えればTkのチュートリアルや解説が流用できるということでもある
実質、「Tcl/TkでのこれはRuby/Tkではどう書くのだろう」という調べものがメインになると思う
2010/03/29(月) 08:49:20
最初から Tcl/Tk で書けば良くね?
2010/03/29(月) 12:32:49
>>55
ちょっと上のレスにも似たようなのがあったけど、別にウィンドウアプリケーション作るのが目的じゃないから
Ruby/Tkを使うことが目的だからその指摘は的外れ
2010/03/29(月) 15:54:03
>別にウィンドウアプリケーション作るのが目的じゃないから

イミフ
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
2010/03/29(月) 19:09:47
tktable は tk と別にパッケージをインストールする必要がある
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 とかならこんなに苦労しなくても済むのかなぁ
2010/03/29(月) 20:01:22
>>58
rubyとだけタイプしてコード書くよりirbを推奨。
readlineが使えるなら irb -rreadline おすすめ。
# mainloopするまでフィードバックはないことについては
# 上のほうになんか解決策があった気がする。

pythonの対話モードと似たようなものだ。
# ipythonってのもあるんだな…
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()
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が入ってないってことですかね
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
みなさん色々アドバイスありがとうございます
なんかもう気力が無くなりつつあります
こんなに面倒だからみんな語りたがらないんですね
2010/03/29(月) 20:36:29
irb使えとあれほど(ry
2010/03/29(月) 20:37:18
てか、何でTk使うんだ?
74デフォルトの名無しさん
垢版 |
2010/03/29(月) 20:39:30
Ruby初心者スレでRubyXXの中ではRuby/Tkが一番相性が良い
とかなんとか言ってる方がいらっしゃったので・・・
2010/03/29(月) 20:41:27
Tkを窓から捨てろ
いますぐニダ
2010/03/29(月) 20:51:55
あきらめて Ruby/Qt にしようと思ったら
ttp://takahr.dhis.portside.net/cgi-bin/rwiki.cgi?cmd=view;name=Ruby%2FQte
落ちてる orz
2010/03/29(月) 20:53:49
ttp://sfns.u-shizuoka-ken.ac.jp/geneng/horie_hp/ruby/horie_prog_jp.html
こっちもだめだ
orz
2010/03/29(月) 20:55:44
wxRuby は rake と SWIG が必要?
またトラブりそうだなぁ
79デフォルトの名無しさん
垢版 |
2010/03/29(月) 20:56:34
Rubyを窓から捨てろ
いますぐニダ
2010/03/29(月) 20:57:24
馬鹿には使えないことが証明されました
2010/03/29(月) 21:11:56
しかしなんでまた一足飛びにTkTableを使おうなどと思ったのか
2010/03/29(月) 21:19:15
100マス計算の出題・採点ソフトを作りたかったのです
2010/03/29(月) 21:26:33
gridでよくね?
2010/03/29(月) 21:27:49
ウインドウを左右二つに区切って
左に100ます、右に入力欄
右の入力欄の入力に応じて左の100ますを書き換える

これならTkでも十分できるんじゃないか
2010/03/29(月) 21:31:46
すみません
縦が(x+a)で横が(x+b)の掛け算の場合
xの2乗+ax+bx+ab
を入力したら正解にしたいのですが
どういう判定をすればよいのか分かりません
2010/03/29(月) 21:33:30
x**2+(a+b)x+ab
が正解のような
2010/03/29(月) 21:34:24
GUI関係ねーし
2010/03/29(月) 21:35:39
「xの2条」とかをxの右上に2があるように表示するのは
GUIじゃないと出来ないですよね?
2010/03/29(月) 23:01:42
>>88
回答としては、canvasに小さめのフォントで描く、なんだろうけど、
とりあえずあなたの目的にとっては本質的じゃないからあとまわしに
して x^2 のような仮表示にして先に進んだほうがいいと思う。


90デフォルトの名無しさん
垢版 |
2010/03/30(火) 18:40:53
tkってnanの略?
ちんこだろjk
2010/03/31(水) 11:21:59
>>78
初心者スレの荒らしじゃないけど、悪いことイ・ワンからGUIしたいだけならC#にしとけw
俺もGUIも全部Rubyでやりたいなどと日頃から思うけどさすがに・・・
2010/03/31(水) 12:03:29
Ruby で GUI って結局どこの馬の骨か分からんフレームワークを
必死で寄せ集めて試行錯誤してやっと使えるようになるかなってレベル
それに出来上がったのを exe にしようとするとまた苦労が待っている
Python に比べると激しく茨の道としか思えない
2010/03/31(水) 12:21:11
>>92
ここで聞くのもアレなんだけど、
PythonのGUIツールキットはTortoiseHgやらDropboxなどの製品でも使われてみたいだけど
どういう違いがあるんだろ。
exe化しにくい他に。
Pythonの環境は参考になるんじゃないかな。

そもそもGUI望まれてなくて、今時webアプリでいーじゃんという意見は半分は同意したいがw
2010/03/31(水) 13:11:35
たとえばTcl/Tk自体は歴史のあるGUIツールキットだ(X上では安定)
それをきちんとした統合度で呼んでるきちんとした言語があればそれが使われる
Pyhotn部分がしっかりしていたから使われただけ
それがRubyじゃなかったのは、RubyがPythonじゃなかったから
2010/03/31(水) 13:20:37
まあ、Python on RailsじゃなくてRuby on Railsだったかは、
PythonがRubyじゃなかったから、ということか
どっちも・・・
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で作った方が手っ取り早いぞ。
2010/03/31(水) 15:07:00
なぜ突然EXE化の話になってるんだぜ
99デフォルトの名無しさん
垢版 |
2010/03/31(水) 15:32:05
GUIであるからにはEXEになってねーと意味ねーよ
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やるのは時間の無駄、言語は適材適所で使うもの。
2010/03/31(水) 18:25:03
老婆心の塊のようなスレだなw
2010/03/31(水) 19:49:26
EubyでGUIはムリポを実証するスレです
2010/03/31(水) 20:16:53
CGIにしてUIはWebブラウザで、というのが幸せな気もしなくもない
2010/03/31(水) 21:13:02
Python+Tkで100ます計算作ってみたがそれなりのものができた
Tkはいいものだ

Ruby/Tkは場合によってはRubyの再コンパイルが必要なのが痛い気がする
2010/03/31(水) 21:19:58
>>106
>場合によってはRubyの再コンパイル

静的リンクしてるならともかく、 ext/tk だけでいいんじゃないの?
2010/03/31(水) 22:44:24
>>107
Tcl/Tkが入ってない環境でコンパイルされたRuby
(結果としてtcltklib.soも作られない)なんかは
やっぱり再コンパイルが必要になるんじゃない?
2010/03/31(水) 23:44:30
tcltklib.soはext/tkをコンパイルすればその中に作られるよーな。
2010/04/01(木) 02:14:56
Tkinter は Python 入れるだけで使えるからなぁ
Ruby は GUI 環境は標準では何も入らないだろ?
2010/04/01(木) 08:47:22
>>100-106
スレタイがGUIってなってるけど話題的にはwebアプリのGUIは含まない雰囲気(←Google日本語だと何故か変換できる)だよね。

webアプリの技術でデスクトップアプリとなるAIRなんかになるかと思うけど、
それっぽいのも探してみた。

Appcelerator Titanium DesktopでRuby,Python,PHPを使ったお手軽デスクトップアプリ開発その1 - 仙台 Rails Vim JavaScript社長
http://d.hatena.ne.jp/yuichi_katahira/20100219/1266605194

Ruby,Python,PHP,JavaScriptでマルチプラットフォームなデスクトップアプリを簡単に作成する Appcelerator Titanium Desktop - 仙台 Rails Vim JavaScript社長
http://d.hatena.ne.jp/yuichi_katahira/20100219/1266592521

Titanium Desktop Application Development | Appcelerator
http://www.appcelerator.com/products/titanium-desktop-application-development/
2010/04/01(木) 08:59:33
>>111
HTA のことじゃね?
2010/04/01(木) 09:02:14
つ ttp://SmartClient.com
つ ttp://ExtJS.com
2010/04/01(木) 09:09:29
>>111
よこからありがとう
でもそれをここでやるとjavascriptの話題ばかりになってruby関係なくなるかもなぁ
2010/04/01(木) 09:15:37
>>110
標準でTkが入る。
2010/04/01(木) 09:22:07
場合によっては

って書いてあるのに無視する(見落とす/気付かない振りをする)おまいら素敵
2010/04/01(木) 09:56:40
>>111
JavaScriptやRuby, phpでネイティブアプリが作れる!って振込に
フランスに渡米した感じだw
2010/04/01(木) 10:06:55
>>115
コンパイルオプションをつけると Tk 用ライブラリがインストールされる、の間違いだろ
あれは「オプショナル」だと思う
2010/04/01(木) 11:15:41
えっ?
2010/04/01(木) 12:36:15
>>118
デフォルトで、tkが入ってれば見つけて作ってくれるわけだが。
2010/04/02(金) 12:44:23
ディストリビューションによっては別パッケージになってる、って話じゃないの?
そういうディストリビューションがあるかどうかは知らんけど。
2010/04/02(金) 13:16:14
Ruby が Tk モジュールを持っていても
あらかじめ Tcl/Tk が入っていないと使えないっていう話だろ

Python の場合は Tcl/Tk が入っていなくても
Tkinter が使える
2010/04/02(金) 13:20:54
>>122
その場合必要なのはTkのインストールであって
Rubyの再コンパイルではないのではないか?
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なくてもこれ動くのか。
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
2010/04/02(金) 13:40:40
_tkinterはTclインタプリタやらTkライブラリへのインタフェースだよ
なのでTclやTk自体が入ってなければ動かない

ただWindowsのPythonバイナリ配布物はTclやTkがDLLで同梱されてるので
ActiveTclを別にインストールする必要が無いってだけ
2010/04/02(金) 22:48:02
「Pythonだとできる」って言っている人は、本気で誤解しているのか、ミスリーディングしようとしているのか…。
2010/04/03(土) 11:06:24
直接のインポート対象ファイルが Tkinter.py という拡張子だから
pure pythonだと思い込んでいた、というオチがありそう。
2010/04/07(水) 19:51:12
画面をキャプチャして
pngファイルを出力する
プログラムを書きたいです
クリップボードに入れて
他のアプリにもコピペしたいです
何から手をつければ良いですか
windowsです
2010/04/07(水) 20:03:05
GDIの知識が要るな
HSPとかでいいんじゃね
131デフォルトの名無しさん
垢版 |
2010/04/07(水) 22:08:53
clipboard読むWin32APIってなんだっけ
2010/04/07(水) 22:17:34
そういや win32-clipboard はテキスト形式だけだったな
Clipboard.GetDataObject を呼ぶ必要があるかと
2010/04/08(木) 10:13:07
import ImageGrab
import time
tm = time.time()
filename = 'PrntScrn_%s%03d.png' % (
time.strftime('%Y%m%d%H%M%S', time.localtime(tm)),
int(tm * 1000) % 1000)
ImageGrab.grab().save(filename)
2010/04/08(木) 10:27:04
>>133
スレチ
2010/04/08(木) 11:30:26
>>129
> 参考になるかどうか分かりませんが、dl2及びdlを使ったスクリーン全体のキャプチャをとる例が以下にあります。
> dl2の場合: http://rubyforge.org/cgi-bin/viewvc.cgi/dlcookbook/win32/capture.rb?revision=1.3&root=dlcookbook
> dlの場合: http://rubyforge.org/cgi-bin/viewvc.cgi/dlcookbook/win32/capture.rb?revision=1.1&root=dlcookbook
2010/04/08(木) 11:36:44
>>135
リンク無くなってるな orz
こっちでいけるみたいだ

require 'watir/screen_capture'
include Watir::ScreenCapture
screen_capture("hage.png", false, false)

ttp://svn.openqa.org/fisheye/browse/~raw,r=592/watir/trunk/watir/rdoc/classes/Watir/ScreenCapture.src/M000132.html
ttps://shimi.info/pukiwiki/?Ruby%2FWatir#b21c7cc5
2010/04/08(木) 19:24:00
>>136
おお!
オートパイロットですかこれはw
求めていたのとはちょっと違ってますが
とても参考になりました
ありがとうございます

でもパスが変に固定されてたり?
cygwin からだと正常に動作しなかったり
色々問題あるモジュールなので
多少直してからでないと使えないですねorz

rubyの野良モジュールってこんなのばっかりなの?
2010/04/08(木) 19:39:39
>>133
ありがとうございます
これはひょっとしてpythonですか?
こんなに簡単に書けるんですねorz
rubyにも簡単なモジュールあるんでしょうか?
2010/04/08(木) 19:43:54
自分から上級者領域に踏み込んで文句言うとか理解できん
2010/04/08(木) 19:48:22
文句は言ってないです(´・ω・`)

そういう風に受け取られたら申し訳ありませんorz
2010/04/08(木) 19:55:44
GUI と言えば GUI だし
GUI じゃないと言えば GUI じゃない
微妙にスレチ
2010/04/08(木) 21:35:26
むしろ有害スレスレ
143デフォルトの名無しさん
垢版 |
2010/04/09(金) 00:34:20
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < RubyのGUIスタンドアロンアプリまだ〜
            \_/⊂ ⊂_ )   \_______________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       |  宍道湖七珍 |/
2010/04/09(金) 04:44:05
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
2010/04/09(金) 08:40:21
   ▁▁▁▁  ▁▁▁▁  ▁▁▁▁  ▁▁▁▁
  ╱╲   ╲╱╲   ╲╱╲   ╲╱╲   ╲
 ╱  ╲▁▁▁╲ ╲▁▁▁╲ ╲▁▁▁╲ ╲▁▁▁╲
 ╲  ╱ ▁▁╱ ╱   ╱ ╱ ▁▁╱ ╱   ╱
  ╲╱▁╱╲ ╲╱▁▁▁╱╲╱▁╱╲ ╲╱ ▁▁╱
   ▔╱  ╲▁▁▁╲   ▔╱  ╲ ▔▔╲
    ╲  ╱ ▁▁╱   ▁╲  ╱▔▔▔╱
     ╲╱▁╱╲ ▔▔╲╱╲▔╲╱ ▁▁╱
      ▔╱  ╲▁▁▁╲ ╲ ▔▔╲
       ╲  ╱ ▁▁╱ ╱▔▔▔╱
        ╲╱▁╱╲ ╲╱ ▁▁╱
         ▔╱  ╲ ▔▔╲
          ╲  ╱▔▔▔╱
           ╲╱   ╱
2010/04/09(金) 11:32:27
   ▁▁▁▁  ▁▁▁▁  ▁▁▁▁  ▁▁▁▁
  ╱╲   ╲╱╲   ╲╱╲   ╲╱╲   ╲
 ╱  ╲▁▁▁╲ ╲▁▁▁╲ ╲▁▁▁╲ ╲▁▁▁╲
 ╲  ╱ ▁▁╱ ╱   ╱ ╱ ▁▁╱ ╱   ╱
  ╲╱▁╱╲ ╲╱▁▁▁╱╲╱▁╱╲ ╲╱ ▁▁╱
   ▔╱  ╲▁▁▁╲   ▔╱  ╲ ▔▔╲
    ╲  ╱ ▁▁╱   ▁╲  ╱▔▔▔╱
     ╲╱▁╱╲ ▔▔╲╱╲▔╲╱ ▁▁╱
      ▔╱  ╲▁▁▁╲ ╲ ▔▔╲
       ╲  ╱ ▁▁╱ ╱▔▔▔╱
        ╲╱▁╱╲ ╲╱ ▁▁╱
         ▔╱  ╲ ▔▔╲
          ╲  ╱▔▔▔╱
           ╲╱   ╱
            ▔▔▔▔
2010/04/09(金) 22:26:33
ADSIを使ってドメイン内のコンピュータをリストアップして
IPアドレスやコメントを表示したいです
またリアルタイムに接続非接続の状熊等がわかるような
アイコン表示でグラフィカルに格好良く作るには
Rubyの何を使えば良いでしょう
2010/04/10(土) 00:32:42
またお前はそうやってここの住人がADSIなにそれおいしいのだと知りつつそういう質問をする
2010/04/10(土) 21:34:01
ADSIなにそれおいしいの
2010/04/12(月) 01:53:37
IronRubyってまだexe吐けないの?
いつになったらコンパイラリリース?
誰かつくらないの?
TkとかFxとか意味不明なもの使うより.NET使ったほうが数億倍良いじゃん?
Ruby in Steelってもう形だけはフォームデザイナも使えるじゃん?
2010/04/12(月) 03:17:00
>>150
じゃあお前が作れ

っていうのが Ruby コミュニティの常套句なんだよな
そんなことしてたから野良モジュールしか残らなかった
のが Ruby の自ら招いた不幸とも言える
■ このスレッドは過去ログ倉庫に格納されています