gtk2hs
次はHaskellでGTK+をやるぞと思ったものの結構ややこしいので基礎から調査。
module Main where
import Control.Monad.Trans(liftIO) import Graphics.UI.Gtk main = do initGUI window <- windowNew windowSetDefaultSize window 640 400 -- onDestroy window mainQuit
on window deleteEvent (liftIO mainQuit >> return False) widgetShowAll window mainGUI
普通にウィンドウが表示されます。 イベントの扱いが昔の資料の書き方はdeprecated。liftIOなんか使うのか。
module Main where
import Graphics.UI.Gtk
main = do
initGUI
window <- windowNew
button <- buttonNewWithLabel "Hello World"
onClicked button (putStrLn "Hello World")
-- onClicked button $ do
-- putStrLn "Hello World"
containerSetBorderWidth window 10
containerAdd window button
onDestroy window mainQuit
widgetShowAll window
mainGUI
ボタンがつきます。コメント内は昔の実装。いまはdeprecated扱い。なんとなくわかった。

Debian QA
Facebook (taniguchi.takaki)
Twitter (@takaki_t)