수색…


통사론

  • obj <- <widgetName> New - 위젯 (예 : Windows, Buttons, Grids) 생성 방법

  • <widget> [<attributes>] 설정 - 위젯 문서에서 Attr self로 정의 된 속성 설정 (예 : buttonLabel)

  • on <widget> <event> <IO action> - 위젯에 IO 액션 추가하기 신호 자체 (예 : buttonActivated)

비고

많은 리눅스 배포판에서 Haskell Gtk3 라이브러리는 시스템 패키지 관리자 (예 : Ubuntu APT의 libghc-gtk 에서 패키지로 제공됩니다. 그러나 일부 개발자는 같은 도구를 사용하는 것이 바람직 수 있습니다 stack 의 격리 된 환경을 관리하고, Gtk3를 통해 설치 한 cabal 대신 시스템의 패키지 관리자에 의해 글로벌 설치를 통해. 이 옵션을 사용 gtk2hs-buildtools 가 필요합니다. gtk , gtk3 또는 다른 Gtk 기반 하스켈 라이브러리를 프로젝트에 추가하기 전에 cabal install gtk2hs-buildtools 실행하십시오. cabal install gtk2hs-buildtools 파일의 build-depends 항목.

Gtk의 Hello World

이 예제는 Gtk3에서 간단한 "Hello World"를 생성하고 창 및 버튼 위젯을 설정하는 방법을 보여줍니다. 또한 샘플 코드는 위젯에 다른 속성 및 조치를 설정하는 방법을 보여줍니다.

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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow