在安装了 WxHaskell 和 gtk2hs 之后,我正在玩弄它们中的哪一个。对于 WxHaskell,我正在研究haskell.org 上 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]
禁止
Debug: wxColour::Set - couldn't set to colour string 'MEDIUM GREY'
和类似以下的行用于不同的图像文件格式
Debug: Adding duplicate image handler for 'PNG file'
代码编译良好并加载到 GHCi 中。但是,运行时出现的窗口的高度为零,只有窗口的顶部栏可见,无需手动调整窗口大小以包含按钮。这在编译和加载到 GHCi 时都会发生。在 GHCi 中,当执行 main 秒和任何后续时间时,高度将是正确的。如果我关闭并重新启动 GHCi 会话,它将再次“平坦”,并且在第一次调用 main 时不包括按钮,但在任何后续调用中都会更正。当编译代码并在 GHCi 之外运行时,窗口总是平坦的。
这是一个错误还是教程已过时或我缺少其他东西?