Haskell Language
Gtk3
Szukaj…
Składnia
obj <- <nazwa_ widżetu> Nowość - Jak tworzone są widżety (np. Windows, Przyciski, Siatki)
set <widget> [<atrybuty>] - Ustaw atrybuty zdefiniowane jako Attr self w dokumentacji widgetu (np. buttonLabel)
on <widget> <event> <IO action> - Dodawanie akcji IO do widżetów Sygnał self (np. buttonActivated)
Uwagi
W wielu dystrybucjach Linuksa biblioteka Haskell Gtk3 jest dostępna jako pakiet w menedżerze pakietów systemowych (np. libghc-gtk
w APT Ubuntu). Jednak dla niektórych deweloperów może być lepiej użyć narzędzia takiego jak stack
do zarządzania odizolowanymi środowiskami i mieć Gtk3 zainstalowany za pośrednictwem cabal
zamiast globalnej instalacji przez menedżera pakietów systemowych. Dla tej opcji wymagane są gtk2hs-buildtools
. Uruchom cabal install gtk2hs-buildtools
przed dodaniem gtk
, gtk3
lub innych bibliotek Haskell opartych na Gtk do twoich projektów w build-depends
pliku w pliku cabal.
Witaj świecie w Gtk
Ten przykład pokazuje, jak stworzyć prosty „Hello World” w Gtk3, konfigurując okna i widżety przycisków. Przykładowy kod pokaże także, jak ustawić różne atrybuty i działania w widżetach.
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