2014年8月21日木曜日

Ruby で GUI するスレ

1 :デフォルトの名無しさん:2010/03/26(金) 22:19:36
Qt
wx
Tk
GTK GNOME2 Shoes
Fx
Apollo
Visualuruby
IronRuby
色々選択肢はあるようですが続きは >>2 以降で

2 :デフォルトの名無しさん:2010/03/26(金) 22:20:33
あらら
立てられてしまった

http://myruby.seesaa.net/tag/articles/ruby%82%CCGUI%94%E4%8Ar

3 :デフォルトの名無しさん:2010/03/26(金) 22:25:25
      ,―ヽ_(((((_、―
   ,/  ノ       ヽ  ~\
  /   ノ   IPA    ヽ   ~\
/   ノ           ヽ、  `ヽ
|    ノ / ̄\   / ̄~ヽ ヽ    i
|   ノ              |  ノ
\  |  <●>  <●>  (  )
 \ |      | |       i /
    |      /  ヽ       レ
   i     (●_●)      /  
    i、    ,-――-、   ・ /
    i、  <(EEEEE)> ∵/    IPA Rubyスレは誰でもウェルカム
      i、  \   ./  /
       \   ーー   ,ノ       
  ,,.....イ.ヽヽ、ー-―一ノ゙-、.
  :   |  '; \_____ ノ.| ヽ i
      |  \/゙(__)\,|  i |

5 :デフォルトの名無しさん:2010/03/26(金) 22:44:36
    ,.-'"   `'''-、
  /          ヽ
  /             l
  | ヽ         / |
 rl  〉 __    ___ 〈 /-,
 |゙i| <.(・)` i '´(・)>  .!/il
 ヽl     ..:|     |_ノ
   l   /ヽ___ハ    l
   ヽ ヽ ー==‐ ' / /
  _/| ヾ、     /|ヽ、
 ::::::l   ` --- '  l:::::::::ヽ、__

クソスレア・ゲルナー[xoslair Gellner]
(1914〜1989 イギリス)

24 :デフォルトの名無しさん:2010/03/28(日) 14:03:16
$ ruby
require 'tk'
f = TkFrame.new(:relief=>:ridge, :borderwidth=>5).pack(:padx=>5, :pady=>5)
TkButton.new(:parent=>f, :text=>'hoge').pack(:padx=>3, :pady=>3, :fill=>:x)
Tk.mainloop

なんかxの意味がよくわかんないけど・・・

58 :デフォルトの名無しさん: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

29 :デフォルトの名無しさん:2010/03/28(日) 14:19:06
るびまの記事は最近のRubyのTcl/Tk対応具合はこんなですよって示す記事
Ruby/Tkの入門記事にはなってないよ

ということで超労作のTkDocsチュートリアル
http://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')
してみるとよくわかると思う

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の仕組みが穴埋めモデルであることを理解する必要がある。


44 :デフォルトの名無しさん:2010/03/28(日) 19:23:25
いや、そういうことじゃなくって
Ruby/Tkだとpackしても画面に反映されず
mainloopに入ってはじめて反映されることを言ってるんだと思う

回避策もあると思うけど漏れは知らない
誰か教えてくれるだろう

330 :デフォルトの名無しさん:2012/01/03(火) 21:44:17.18
LLバトルスレからコピペ

>48 名前: デフォルトの名無しさん Mail: sage 投稿日: 2011/11/13(日) 08:30:25.68
>>>44
>Zopeが登場した当時、「RDB+PHPはもう古い、これからはOODB+ZopeがWebの中軸になる!」と
>さかんに宣伝され、雑誌でもZope特集が組まれていた
>少なくとも自分はZopeからPythonという言語を知ったし、その時点でRubyは知らなかった
>そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう
>今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい
>
>djangoとCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう
>しかしRailsはRailsでコミュニティの活動が活発だし、その進化は異常に早い
>Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoやCakePHPから
>何かのイノベーションが提示されでもされない限り、後発のdjangoやCakePHPがRailsに追いつくのは無理
>Railsは決して技術的に完璧なWebフレームワークではないんだけどね....(たとえばSeaSideのような.... )
>
>だからこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている

59 :デフォルトの名無しさん:2010/03/29(月) 19:09:47
tktable は tk と別にパッケージをインストールする必要がある

100 :デフォルトの名無しさん:2010/03/31(水) 16:04:52
WEB上のGUI・・・苦しいかwwww

111 :デフォルトの名無しさん: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/

110 :デフォルトの名無しさん:2010/04/01(木) 02:14:56
Tkinter は Python 入れるだけで使えるからなぁ
Ruby は GUI 環境は標準では何も入らないだろ?

129 :デフォルトの名無しさん:2010/04/07(水) 19:51:12
画面をキャプチャして
pngファイルを出力する
プログラムを書きたいです
クリップボードに入れて
他のアプリにもコピペしたいです
何から手をつければ良いですか
windowsです

135 :デフォルトの名無しさん: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


133 :デフォルトの名無しさん: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)


150 :(u_・y) ◆e6.oHu1j.o :2010/04/12(月) 01:53:37
IronRubyってまだexe吐けないの?
いつになったらコンパイラリリース?
誰かつくらないの?
TkとかFxとか意味不明なもの使うより.NET使ったほうが数億倍良いじゃん?
Ruby in Steelってもう形だけはフォームデザイナも使えるじゃん?

206 :デフォルトの名無しさん:2010/09/18(土) 20:12:51
>>150
http://www.kumaryu.net/cgi-bin/diary/?date=20100913

使ったことないけど貼ってみる。

186 :デフォルトの名無しさん:2010/06/05(土) 21:10:50
ターゲットがWindows限定ですむのなら、
Microsoft謹製の言語(VB, VC, C#, ..etc)で組むのが楽なのは簡単だし、
豊富な資料が公式/非公式に存在するから、Rubyを選ぶ選択肢は無い。
目的がソフト開発(WHAT)では無く、Rubyを使う事(HOW)であるなら、
話はまた別になるが....。

個人の独断と偏見だが、Windows上での各ツールキットの問題を書く。
まず、Windowsネイティブなウィジェットを求めるなら、選択肢は
VisualurubyかIronRubyしかない。その他の問題を個別にあげる。

[Qt] 開発したコードを非公開にできない。(公開前提で英語可ならお勧めできる)
[wx] MFCもどきなAPI仕様。(英語可でMFCに慣れた開発者ならお勧めできる)
[Tk] 基本機能は貧弱(Simpleとも言う)。ただし拡張性は最強で拡張ライブラリも豊富。
[GTK] Ruby-GTKそのものは安定しているが、他のGNUソフト(GIMP, Dia,..etc)や
  GTKランタイムに関連する環境変数やレジストリの問題で地獄にハマル。
[Fx] シンプルで美しいAPIだが、日本語入力不可が致命的。(今は改善された?)
[Apollo] 専用のRuby.exeが必須。また、開発元から見放されたDelphiを今さら....。
[Visualuruby] OOPらしからぬ異様なAPI仕様。ドキュメントが中途半端。
[IronRuby] 正式リリースされたのかな?(動向調査不十分につき、助言求む)

個人的には、ネイティブウィジェットにこだわらなければRuby/Tkがお勧め。
移植性があり、日本語の資料も豊富にあり、作者は日本人だから公式ML上でQ&A可能。
期待の星はIronRuby。日本語の情報サイトはどこかにあるかな?

187 :デフォルトの名無しさん:2010/06/17(木) 19:42:43
>>186
gj

188 :デフォルトの名無しさん:2010/06/19(土) 20:06:26
>>186
GJ GJ

・JRuby + Swing
っててもあるか。これなら大体どこでも動くんじゃねーの?

IronRubyはちらほら情報出てるけど少ないね。
これからに期待したい

220 :デフォルトの名無しさん:2010/11/20(土) 09:58:46
IronRubyでWIN32OLEを使わずにExcelのブックやシートを作ったり操作したりする
ことができるってのを、どっかで見たか聞いたかしたんだけど、ぐぐっても出てこない
誰か知ってる人、教えてください

そしてage

221 :デフォルトの名無しさん:2010/11/20(土) 12:11:02
>>220
C#でMS Officeを自動化するってので検索すればいろいろ出てくるよ

たとえば↓とか
http://www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html

223 :デフォルトの名無しさん:2010/11/20(土) 17:56:30
>テーマは「OLEを使わずに」ってことなんです

この条件だけ満たしたいなら
XMLでExcelファイルを出力するのが一番簡単

224 :デフォルトの名無しさん:2010/11/20(土) 19:05:17
>>223

ありがとうございます

その方法も考えたんだけど、XLSXはExcel2007以降だと普通に使えるけど
Excel2003では互換パックをインストールしないと読めないよね
そういう手間かけさせたくなってのもあって、XLSXじゃなくてXLSでいきたいんです

イメージしているのは、JavaのPOIみたいなのや、PythonのpyExceleratorみたいなの
じゃあ、JavaやPythonを使えばいいじゃんって感じなんだけど

まぁ、誰かご存知でいしたら、よろしくお願いします


226 :デフォルトの名無しさん:2010/11/20(土) 19:27:04
>>224
多分こういうのだよね
http://dragonstar.asablo.jp/blog/2009/07/29/4463414
http://rubyforge.org/projects/spreadsheet/

255 :uy:2011/05/17(火) 12:31:32.55
IronRubyって、
自分でかいたIronRubyのソースコードを、他PCで実行させる手段って用意されてるの?
そのPCにもIronRubyないと無理?

301 :デフォルトの名無しさん:2011/11/04(金) 10:47:39.91
wxRubyのGridが、evt_motion等のマウスイベントを拾ってくれない。
どうしたら拾えるかな?
wxRuby 2.0.1、、Ruby1.9.2、Windowsの環境。

306 :デフォルトの名無しさん:2011/11/04(金) 11:45:03.99
Gridにはevt_motionは来ないよ

327 :デフォルトの名無しさん:2012/01/03(火) 21:02:46.87
実際そういうこと。
Rubyである必然性はなく、Railsであれば言語なんかどうでもいい。
だからPHP on Railsなんてのもありえた。

言語によって開発工数の差は生まれない。
フレームワークによって開発工数の差が生まれる。
そういうこと。

329 :デフォルトの名無しさん:2012/01/03(火) 21:44:13.74
作った人は偉いかもしれないけど
どうせ俺もお前も使ってるだけだろ?

三流とかそういうレベルの問題か?

342 :デフォルトの名無しさん:2012/01/04(水) 10:51:27.65
すごい所がないと言ってるのに
読んで何がわかるというの?

すごい所がないと言っている俺が
読んですごいって感想いうとでも期待してるのか?
それだと俺の負けじゃんw

あんた論理的な思考能力もってる?

343 :デフォルトの名無しさん:2012/01/04(水) 11:02:18.57
いやRailsのソースを読んだこともない奴が、他の言語でも
Railsを実現できると言っている事がおかしいということ。
Rubyのパワフルさは色々あるから、ソースを読んだり書いたりして
経験しないと感じられない。
経験不足なのに、すごい所がないと言うのはもっと経験積めと


347 :デフォルトの名無しさん:2012/01/13(金) 14:44:44.12
Ruby/Rails の初学者ですが、
> 何がすごいの?
という問いに対して、自分がすごいと思っていること。

たとえば、Rails の ActiveRecord では、フレームワーク側に存在しない
メソッド名で DB を検索するメソッドを書いても、
method missing をフレームワークが拾って、メソッド名のルールに基づいて
WHERE 句を組み立てて SQL を実行するよね。

こういう method missing は、少なくとも PHP ではできないんじゃないの?

349 :うゆ:2012/01/14(土) 03:12:21.16
それは例外とevalさえあれば余裕
つうかスクリプト言語にある全ての機能は
evalさえあれば自分で代用品を実装できるから
何々の機能があるないは大規模開発ではどうだっていいの

Rubyはそこじゃなくて

開発速度だろ……

PHPとか比べる相手が違う
せめてPython

でもPythonはCGIが一般的じゃないからRuby on Railsが情報量でかてる


Ruby使いこなせないなら黙ってPHPやってればいいけど
RubyやPython両方が使えないような奴

そういう子はRuby側こないほうがいいよ

挫折を味合わせれつもりはないけど
必然的にそのような結果を

352 :デフォルトの名無しさん:2012/01/30(月) 22:56:15.78
javascriptのGUIの作りやすさにはかなわないね

358 :デフォルトの名無しさん:2012/05/02(水) 23:44:29.40
クロスプラットフォームなGUI作りたいんだけど
下手にOSのGUI使うよりHTML, CSS, JavaScriptあたりでUI作って
webrickかなんかでlocalhostにhttpd立てて ブラウザで表示させたほうがいいのかな

361 :デフォルトの名無しさん:2012/05/02(水) 23:57:11.72
Tkってどの程度ビジュアル弄れるの
みんなねずみ色のどんよりしたフォームしか作ってない

388 :デフォルトの名無しさん:2012/12/07(金) 00:02:06.09
>>395
すげえな…小6のおっぱいとは思えんw

390 :デフォルトの名無しさん:2012/12/15(土) 03:09:29.77
今Rubyで簡単なGUIプログラム作ろうと思ったらどのライブラリ使うのがオススメなの?
何年も前に開発が止まってたりするライブラリに手を出すのはちょっと気が進まないし

395 :デフォルトの名無しさん:2013/02/07(木) 21:14:50.35
Project ApolloのWiki
荒らされたらしい

apollo's Wiki - マークバイマークジェイコブス 財布 798
http://wiki.fdiary.net/apollo/?Phi%3A%3AEdit%2523cut_to_clipboard

418 :デフォルトの名無しさん:2013/10/28(月) 18:37:32.24
javaはライブラリやツールなどいろんなものが充実してて最先端技術を知るには一番いい
.netは他の言語で流行ったものの型落ちの技術がやってくるところになってしまった
何故だ?

428 :デフォルトの名無しさん:2014/08/08(金) 03:45:13.52 ID:haIAkjLP
MotionRuby出てきてないな。
高いので試してないんだけど実際どうなのか誰か知ってる?

430 :,,・´∀`・,,)っ-○○○:2014/08/08(金) 04:09:21.91 ID:QdNtltyv
JSON/XML吐かせてネイティブクライアントに処理させるからね
RubyそのものでGUI組む機会がまるでない

Rubyでやることを自己目的化して苦労するより
C#でも覚えたほうが楽だと思うよ

サーバサイドがRailsでクライアントがC++やC#なんて構成のシステムなら実は割りとある

http://peace.2ch.net/test/read.cgi/tech/1269609576/l50/../

0 件のコメント:

コメントを投稿