Haskell Language
GTK3
Ricerca…
Sintassi
obj <- <widgetName> Nuovo - Come vengono creati i widget (ad es. Windows, pulsanti, griglie)
set <widget> [<attributi>] - Imposta gli attributi come definito come Attr auto nella documentazione del widget (es. buttonLabel)
su <widget> <evento> <azione IO> - Aggiunta di un'azione IO a un widget Segnale auto (ad es. pulsante Attivato)
Osservazioni
In molte distribuzioni Linux, la libreria Haskell Gtk3 è disponibile come pacchetto nel gestore dei pacchetti di sistema (ad es. libghc-gtk
nell'APT di Ubuntu). Tuttavia, per alcuni sviluppatori potrebbe essere preferibile utilizzare uno strumento come lo stack
per gestire ambienti isolati e avere Gtk3 installato tramite cabal
anziché tramite un'installazione globale da parte del gestore di pacchetti di sistema. Per questa opzione, è richiesto gtk2hs-buildtools
. Esegui cabal install gtk2hs-buildtools
prima di aggiungere gtk
, gtk3
o qualsiasi altra libreria Haskell basata su Gtk alla voce build-depends
gtk3
tuo progetto nel tuo file cabal.
Ciao mondo in Gtk
Questo esempio mostra come si può creare un semplice "Hello World" in Gtk3, impostando una finestra e i widget dei pulsanti. Il codice di esempio mostrerà anche come impostare diversi attributi e azioni sui widget.
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