サーチ…


構文

  • obj < - <widgetName>新規 - ウィジェット(Windows、ボタン、グリッドなど)の作成方法

  • set <widget> [<attributes>] - ウィジェットのドキュメントでAttr selfとして定義されている属性を設定する(buttonLabelなど)

  • on <widget> <event> <IO action> - IOアクションをウィジェットに追加するシグナルself(buttonActivatedなど)

備考

多くのLinuxディストリビューションでは、Haskell Gtk3ライブラリはシステムパッケージマネージャー(例えば、UbuntuのAPTのlibghc-gtk )のパッケージとして利用できます。しかし、一部の開発者にとっては、隔離された環境を管理するためにstackようなツールを使用し、Gtk3をシステムパッケージマネージャーによるグローバルインストールではなくcabal経由でインストールすることが望ましいかもしれません。このオプションの場合、 gtk2hs-buildtoolsが必要です。実行cabal install gtk2hs-buildtools追加する前に、 gtkgtk3プロジェクトやその他のGTKベースHaskellライブラリをbuild-dependsあなたの徒党ファイルのエントリは。

Hello World in Gtk

この例は、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