После установки WxHaskell и gtk2hs я играю с обоими, чтобы решить, какой из них выбрать. Для WxHaskell я обрабатываю документацию по адресу WxHaskell at haskell.org. Следующий первый пример из "Quick Start" раздел :wxHaskell: начальный размер кадра слишком мал
-- Copied from www.haskell.org/haskellwiki/WxHaskell/Quick_start
module Main where
import Graphics.UI.WX
main :: IO()
main
= start hello
hello :: IO()
hello
= do f <- frame [text := "Hello!"]
quit <- button f [text := "Quit", on command := close f]
set f [layout := widget quit]
Barring
Debug: wxColour::Set - couldn't set to colour string 'MEDIUM GREY'
и линии, подобное следующему для различных форматов файлов изображений
Debug: Adding duplicate image handler for 'PNG file'
Кодекса компилируется в тонкой форме и загружается в GHCi. Однако появившееся окно при запуске имеет высоту, которая равна нулю, только верхняя панель окна видна без изменения размера окна вручную, чтобы включить кнопку. Это происходит как при компиляции, так и при загрузке в GHCi. В GHCi высота будет правильной при выполнении основной секунды и любого последующего времени. Если я закрою и перезапустил сеанс GHCi, воля будет «плоской» и не будет включать кнопку при первом вызове на главный, но исправьте любые последующие вызовы. При компиляции кода и запуске вне GHCi окно всегда является плоским.
Это ошибка или устаревшее учебное пособие или что-то еще, что мне не хватает?
Там известны проблемы с wxHaskell и GHCi: http://www.haskell.org/haskellwiki/WxHaskell/FAQ – stusmith
Или вы имеете в виду окно всегда слишком мало? Если это так, вы можете добавить макет 'minsize'. – stusmith
Это происходит как с GHCi, так и при компиляции кода с GHC. Я ожидал получить такое же поведение, что и экранные снимки в связанном примере. Добавление явного размера, например. с clientSize: = sz 150 100, размер окна соответствует, но было бы неплохо, если бы более поздний реальный код не выполнял размер элементов GUI. – 2013-02-22 10:13:47