2008年5月10日 星期六

[GTK2HS] Install on Mac OS X

一時興起
灌了wxHaskell和gtk2hs來用

不過wxHaskell不知道為甚麼不能跑
我猜是某個東西的版本不對
不過我暫時也懶得去找問題了
也許哪天用Arch來灌灌看(?) 
有.空.的.話.啦... XD

回到正題
gtk2hs官方網站上的tutorial
不知道為啥是用一個叫做Glade的軟體當作開發環境

然後我試著去抓下來build
不過build到一半有問題然後就卡住了
看起來是我有少東西
但是,懶散如我
我另外去google一下有沒有其他的tutorial
果不其然,找到了這個 
一個gtk2hs的toturial
(不過後來我也在gtk2hs官網上看到一樣的helloworld sample囧)

簡單講一下helloworld的作法

首先create一個檔案:
    import Graphics.UI.Gtk
    main 
:: IO ()
    main 
= do
      
initGUI
      window 
<- windowNew
      button 
<- buttonNew
      
set window [ containerBorderWidth := 10,
                   
containerChild := button ]
      
set button [ buttonLabel := "Hello World"]
      
onClicked button (putStrLn "Hello World")
      
onDestroy window mainQuit
      
widgetShowAll window
      
mainGUI



然後用ghc compile一下
> ghc --make gtktry.hs -o hello
> ./hello
這樣就好了
因為是在mac os上
所以會開出X11來
有點醜,但是也只能忍耐了 T^T

題外話1
後來我用macport弄到了Glade3
不過暫時沒有意願去測
雖說看起好像還不錯用的說
(port好強呀,什麼都有Orz)

題外話2
據說有個叫做HOC的東西
(Haskell to Object-C binding)
顧名思義,可以連接haskell和object-c
然後據說可以藉此使用mac上的cocoa
不過,cocoa我完全不熟
(其實完全沒碰過沒用過)
所以只是隨口提一下 XD

5 則留言:

  1. wxWidgets 有 aqua 版,你可以試試...

    回覆刪除
  2. RAD是指??

    算了
    太多了啦
    光是Qt/Gtk+我就想先丟一個惹
    更別提一直都有個印象:
    wxWidget沒有Qt好
    所以還是先不要吧

    對呀...
    可能是沒抄到那個ive吧 Orz

    回覆刪除
  3. RAD 一般是指 Rapid Application Development tools,
    不過我剛剛翻了一下,現在好像比較少拿這個詞指 gui desinger...
    總之想說的就是 drag & drop 做 gui 就是了

    回覆刪除