5
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 API では、私が覚えているように、各ウィンドウを個別に更新する必要があります。しかし、Haskell は提供するだけrenderです。どこが間違っていますか?可動ウィジェットが欲しい。

4

1 に答える 1

4

愚かな質問で申し訳ありません。に電話するだけrefreshPanelsです。

于 2012-06-22T08:26:37.023 に答える