Haskell Language
Gtk3
Sök…
Syntax
obj <- <widgetnamn> Nytt - Hur widgetar (t.ex. Windows, knappar, rutnät) skapas
set <widget> [<attribut>] - Ställ in attribut som definieras som Attr self i widgetdokumentation (t.ex. buttonLabel)
på <widget> <händelse> <IO-åtgärd> - Lägga till en IO-åtgärd till en widgets Signal self (t.ex. knappAktiverad)
Anmärkningar
På många Linux-distributioner är Haskell Gtk3-biblioteket tillgängligt som ett paket i libghc-gtk
(t.ex. libghc-gtk
i Ubuntu APT). För vissa utvecklare kan det emellertid vara att föredra att använda ett verktyg som stack
att hantera isolerade miljöer och att Gtk3 installeras via cabal
istället för via en global installation av systempakethanteraren. För detta alternativ gtk2hs-buildtools
. Kör cabal install gtk2hs-buildtools
innan du lägger till gtk
, gtk3
eller något annat Gtk-baserat Haskell-bibliotek till dina projekt build-depends
post i din cabal-fil.
Hej värld i Gtk
Det här exemplet visar hur man kan skapa en enkel "Hello World" i Gtk3 genom att ställa in ett fönster och knappwidgets. Exempelkoden visar också hur man ställer in olika attribut och åtgärder på widgetarna.
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 loop