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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow