Re: [心得] GUI

看板Ruby作者 (godfat 真常)時間17年前 (2007/07/24 21:10), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/5 (看更多)
發現 wxruby 其實是有叫 wx_sugar 的 wrapper... http://wxruby.rubyforge.org/wiki/wiki.pl?WxSugar 這樣看起來確實是好多了。而我想 wxWidgets 有一個優勢是效率應該不錯, 再加個 wrapper 也許還可以接受 另一方面,就像上一篇提到的,ruby-gnome 我灌不起來,所以就先不試了 因故而又試了 ruby-cocoa http://rubycocoa.sourceforge.net/ 呃呃呃,我是覺得,如果要寫純 mac 程式的話,應該是不錯啦 至少比直接用 obj-c 要來得好(等 obj-c 2.0 看看會不會有大改善?) 可是如果只是要做 GUI 的話,實在不覺得 ruby cocoa 有什麼好的﹍ 比較一下程式碼就知道:(但 ruby cocoa 在 mac 上遠比其他 gui 快(廢話﹍)) RubyCocoa: require 'osx/cocoa' include OSX app = NSApplication.sharedApplication hello = NSWindow.alloc. initWithContentRect_styleMask_backing_defer [200.0, 300.0, 100.0, 100.0], 15, 2, 0 hello.setTitle 'Hello' btn = NSButton.alloc.initWithFrame [10.0, 10.0, 80.0, 80.0] hello.contentView.addSubview btn btn.setTitle 'Hello World!' btn.setAction 'stop:' btn.setBezelStyle 4 hello.display hello.orderFrontRegardless app.run 這麼長,而且我暫時找不到按 X 可以讓程式正常結束的方法,預設我猜是隱藏 so do java swing FXRuby: require 'rubygems' require 'fox16' include Fox app = FXApp.new hello = FXMainWindow.new app, "Hello" FXButton.new hello, "Hello World!" app.create hello.show app.run wxRuby: require 'rubygems' require 'wx' include Wx class Hello < App def on_init hello = Frame.new nil, -1, "Hello" StaticText.new hello, -1, "Hello World!" hello.show end end Hello.new.main_loop QtRuby: require 'qt' include Qt app = Application.new ARGV hello = PushButton.new "Hello World!" hello.resize 100, 30 hello.show app.exec 當然,幾個程式有設定的東西數量不同,不是很好這樣比, 但是還是可以看出其風格。 wxRuby 走最傳統的繼承改寫風,其他的就都比較用不到繼承 其中最特別的應屬 Qt, 他的 button 可以自成一個 frame! 看來看去覺得還是 Qt 最理想啊 :o 而且同樣可以使用 Qt Designer... ruby-gnome 不知道能不能用 glade? 等 ruby-gnome 哪天灌成功時再來試吧 XD 只是在 mac 上如果還要灌 gnome 的話,八成又要開 X11, 這樣就實在不理想了﹍﹍ Apple X11 和 Aqua 的整合還滿差的﹍ --   『風車』が廻り続ける度に 『美しき』幻想が静かに紡がれ    『焔』の揺らめきの外に 『腕』を伸ばす愚かな者達 -《Roman》5th Story  『宝石』をより多く掴もうと 『朝と夜』の狭間を彷徨い続ける Track 10   『星屑』の砂の煌めきにも 『葡萄酒』の仄甘い陶酔を魅せ 黄昏の賢者 『賢者』が忌避する檻の中から 『伝言』の真意を彼等に問うだろう   『天使』が别れを告げし時 『地平線』は第五の物語を識る -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.28.18

07/25 01:11, , 1F
ruby-gtk可以用glade呀~
07/25 01:11, 1F
文章代碼(AID): #16fVeu2k (Ruby)
討論串 (同標題文章)
完整討論串 (本文為第 4 之 5 篇):
1
1
17年前, 07/22
2
6
17年前, 07/22
17年前, 07/23
1
1
17年前, 07/24
5
7
17年前, 10/31
文章代碼(AID): #16fVeu2k (Ruby)