Gtk3
Hello World in Gtk
Section titled “Hello World in Gtk”This example show how one may create a simple “Hello World” in Gtk3, setting up a window and button widgets. The sample code will also demonstrate how to set different attributes and actions on the widgets.
module Main (Main.main) where
import Graphics.UI.Gtk
main :: IO ()main = do initGUI window <- windowNew on window objectDestroy mainQuit set window [ containerBorderWidth := 10, windowTitle := "Hello World" ] button <- buttonNew set button [ buttonLabel := "Hello World" ] on button buttonActivated $ do putStrLn "A \"clicked\"-handler to say \"destroy\"" widgetDestroy window set window [ containerChild := button ] widgetShowAll window mainGUI -- main loopSyntax
Section titled “Syntax”Remarks
Section titled “Remarks”On many Linux distributions, the Haskell Gtk3 library is available as a package in the systems package manager (e.g. libghc-gtk in Ubuntu’s APT). However, for some developers it might be preferable to use a tool like stack to manage isolated environments, and have Gtk3 installed via cabal instead of via an global installation by the systems package manager. For this option, gtk2hs-buildtools is required. Run cabal install gtk2hs-buildtools before adding gtk, gtk3 or any other Gtk-based Haskell libraries to your projects build-depends entry in your cabal file.