灌了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
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
Glade 是 GTK 的 RAD
回覆刪除wxWidgets 有 aqua 版,你可以試試...
回覆刪除object-c? 你指 objective-c 嗎?
回覆刪除RAD是指??
回覆刪除算了
太多了啦
光是Qt/Gtk+我就想先丟一個惹
更別提一直都有個印象:
wxWidget沒有Qt好
所以還是先不要吧
對呀...
可能是沒抄到那個ive吧 Orz
RAD 一般是指 Rapid Application Development tools,
回覆刪除不過我剛剛翻了一下,現在好像比較少拿這個詞指 gui desinger...
總之想說的就是 drag & drop 做 gui 就是了