main :: IO()
main = runCurses $ do
setEcho False
w <- defaultWindow
canvas <- newWindow 19 19 0 0
panel <- newPanel canvas
updateWindow canvas $ do
drawString "Hello world!"
render
waitFor w (\ev -> ev == EventCharacter 'q' || ev == EventCharacter 'Q')
waitFor :: Window -> (Event -> Bool) -> Curses ()
waitFor w p = loop where
loop = do
ev <- getEvent w Nothing
case ev of
Nothing -> loop
Just ev' -> unless (p ev') loop你好。这是ncurses包的一个稍微修改过的例子。问题是不显示任何内容。据我所知,在C中,我必须单独刷新每个窗口。但是Haskell只提供render。我哪里错了?我想有一些可移动的小工具。
发布于 2012-06-22 16:26:37
很抱歉问了这么愚蠢的问题。你只要给refreshPanels打电话就行了。
https://stackoverflow.com/questions/11152612
复制相似问题