haskell GUI
1. 最新版的GHC
2. 最新版的wxhaskell
3. 系统: windows 2003
4. 代码如下:
module Main where
import Graphics.UI.WX
main :: IO ()
main = start gui
gui :: IO ()
gui = do
f <- frame [text := "Hello World!"]
st <- staticText f [text := "Hello baby!"]
b <- button f [text := "Button!"]
set f [layout :=
row 0 [widget st, widget b]
]
return ()
-------------------------------------------------------------------
编译: ghc.exe -package wx -o gui.exe gui.hs
问题: 运行gui.exe 弹出窗体, 如果用鼠标接触窗体, 窗体会自动消失(程序退出).
请问这是什么原因导致的?? 还是程序的原因? 谢谢.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要不你用 ghc --make ttt.hs 编译一下看看。
我一般都用这个命令。
那应该是你的环境有问题了。
刚试了一下,我机器上是没有问题的。
这个我试了, 还是不行, 现在弄不清是wxhaskell模块的问题 还是其他什么问题
比如一个最简单的例子 只要鼠标接触在窗体上, 程序自动退出 代码如下:
module Main where
import Graphics.UI.WX
main :: IO ()
main = start gui
gui :: IO ()
gui = do
frame [text := "Hello World!"]
return ()
从 http://en.wikibooks.org/wiki/Haskell/GUI 看到的.
我在wxhaskell 网站上 http://haskell.org/haskellwiki/WxHaskell/Quick_start 测试的例子也是不行.
我目前了解wxhaskell 是目前比较好的GUI 组件. 如果有其他好用的, 希望也给推荐一下. 谢谢.
wxWidgets 我不太熟,其实你可以换个思路,
不要从 0 开始写一个对的出来,可以找一个正确的例子删减掉一部分内容。
你试试加一个 panel,然后把 statisText 和 button 都放到 panel 上看看:
复制代码