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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow