免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5219 | 回复: 4
打印 上一主题 下一主题

haskell GUI - wxhaskell 窗体消失 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-13 15:22 |只看该作者 |倒序浏览
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 弹出窗体, 如果用鼠标接触窗体, 窗体会自动消失(程序退出).
请问这是什么原因导致的?? 还是程序的原因? 谢谢.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2009-01-13 16:59 |只看该作者
wxWidgets 我不太熟,其实你可以换个思路,
不要从 0 开始写一个对的出来,可以找一个正确的例子删减掉一部分内容。

你试试加一个 panel,然后把 statisText 和 button 都放到 panel 上看看:

  1.   f <- frame [text := "Hello World!"]
  2.   p <- panel  f []
  3.   st <- staticText p [text := "Hello baby!"]
  4.   b <- button p [text := "Button!"]
复制代码

论坛徽章:
0
3 [报告]
发表于 2009-01-13 17:42 |只看该作者
这个我试了, 还是不行, 现在弄不清是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 组件.  如果有其他好用的, 希望也给推荐一下. 谢谢.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2009-01-13 20:30 |只看该作者
那应该是你的环境有问题了。
刚试了一下,我机器上是没有问题的。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2009-01-13 20:31 |只看该作者
要不你用 ghc --make ttt.hs 编译一下看看。
我一般都用这个命令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP