Haskell Language
gtk3
Zoeken…
Syntaxis
obj <- <widgetName> Nieuw - Hoe widgets (bijv. Windows, knoppen, rasters) worden gemaakt
set <widget> [<attributes>] - Set attributen zoals gedefinieerd als Attr zelf in widget documentatie (bijv. buttonLabel)
op <widget> <evenement> <IO-actie> - Een IO-actie toevoegen aan een widgets Signaal zelf (bijv. buttonActivated)
Opmerkingen
Op veel Linux-distributies is de Haskell Gtk3-bibliotheek beschikbaar als een pakket in de systeempakketbeheerder (bijv. libghc-gtk
in APT van Ubuntu). Echter, voor sommige ontwikkelaars het de voorkeur om een instrument te gebruiken, zoals zou kunnen zijn stack
naar geïsoleerde omgevingen te beheren, en hebben GTK3 geïnstalleerd via cabal
in plaats van via een wereldwijde installatie van de systemen package manager. Voor deze optie is gtk2hs-buildtools
vereist. Voer cabal install gtk2hs-buildtools
voordat u gtk
, gtk3
of andere op Gtk gebaseerde Haskell-bibliotheken toevoegt aan de build-depends
ingang van uw project in uw cabal-bestand.
Hallo wereld in Gtk
Dit voorbeeld laat zien hoe je een eenvoudige "Hallo wereld" kunt maken in Gtk3, waarmee een venster en knopwidgets wordt ingesteld. De voorbeeldcode laat ook zien hoe verschillende attributen en acties op de widgets kunnen worden ingesteld.
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