Buscar..


Sintaxis

  • obj <- <widgetName> Nuevo: cómo se crean los widgets (por ejemplo, Windows, botones, cuadrículas)

  • set <widget> [<atributos>] - establece atributos como se define como Attr self en la documentación del widget (por ejemplo, buttonLabel)

  • en <widget> <evento> <acción IO> - Agregar una acción IO a un widget Señal self (por ejemplo, botón activado)

Observaciones

En muchas distribuciones de Linux, la biblioteca Haskell Gtk3 está disponible como un paquete en el administrador de paquetes del sistema (por ejemplo, libghc-gtk en el APT de Ubuntu). Sin embargo, para algunos desarrolladores que podría ser preferible utilizar una herramienta como stack para gestionar entornos aislados y tener instalado gtk3 a través de cabal en lugar de a través de una instalación global mediante el gestor de paquetes de sistemas. Para esta opción, se requiere gtk2hs-buildtools . Ejecute cabal install gtk2hs-buildtools antes de agregar gtk , gtk3 o cualquier otra biblioteca de Haskell basada en Gtk a la entrada de build-depends proyectos en su archivo de cabal.

Hola mundo en gtk

Este ejemplo muestra cómo se puede crear un simple "Hello World" en Gtk3, configurando una ventana y botones de botones. El código de muestra también mostrará cómo establecer diferentes atributos y acciones en los widgets.

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow