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扱い。なんとなくわかった。