Haskell Language
GTK3
Поиск…
Синтаксис
obj <- <widgetName> Новое - как создаются виджеты (например, Windows, кнопки, сетки)
set <widget> [<attributes>] - Установить атрибуты, определенные как атрибут Attr в документации виджета (например, buttonLabel)
on <widget> <event> <IO action> - Добавление действия IO к виджетам Signal self (например, buttonActivated)
замечания
Во многих дистрибутивах Linux библиотека Haskell Gtk3 доступна в виде пакета в диспетчере системных пакетов (например, libghc-gtk
в APT Ubuntu). Тем не менее, для некоторых разработчиков , возможно , было бы предпочтительнее использовать инструмент , как stack
для управления изолированных сред, и установлен GTK3 через cabal
вместо через глобальную установку менеджер системы упаковки. Для этого параметра gtk2hs-buildtools
. Запустите cabal install gtk2hs-buildtools
перед добавлением gtk
, gtk3
или любых других библиотек Haskell на основе Gtk в вашу запись, build-depends
от проекта, в вашем файле cabal.
Привет, мир в Gtk
В этом примере показано, как можно создать простой «Hello World» в Gtk3, настроив виджеты окон и кнопок. Пример кода также продемонстрирует, как устанавливать различные атрибуты и действия в виджетах.
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