Suche…


Syntax

  • obj <- <widgetName> Neu - Wie Widgets (z. B. Windows, Schaltflächen, Raster) erstellt werden

  • set <widget> [<attributes>] - Setze Attribute wie in der Widget-Dokumentation als Attr self definiert (zB buttonLabel)

  • auf <widget> <event> <E / A-Aktion> - Hinzufügen einer E / A-Aktion zu einem Widgets Signal self (zB buttonActivated)

Bemerkungen

Auf vielen Linux-Distributionen ist die Haskell Gtk3-Bibliothek als Paket im Paketmanager des Systems verfügbar (z. B. libghc-gtk in Ubuntus APT). Für einige Entwickler kann es jedoch vorzuziehen sein, ein Tool wie stack für die Verwaltung von isolierten Umgebungen zu verwenden und Gtk3 über cabal statt über eine globale Installation durch den Systempaketmanager installieren zu lassen. Für diese Option ist gtk2hs-buildtools erforderlich. Führen Sie cabal install gtk2hs-buildtools vor dem Hinzufügen von gtk , gtk3 oder anderen GTK-basierten Haskell - Bibliotheken , um Ihre Projekte build-depends Eintrag in Ihrer Clique Datei.

Hallo Welt in Gtk

Dieses Beispiel zeigt, wie man eine einfache "Hello World" in Gtk3 erstellen kann, indem ein Fenster und Schaltflächen-Widgets eingerichtet werden. Der Beispielcode zeigt außerdem, wie verschiedene Attribute und Aktionen für die Widgets festgelegt werden.

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow