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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow