onExpose 函数已弃用

onExpose function deprecated

我正在使用 Gtk2Hs 构建一个 GUI,在 window 中绘制一些图片。我使用函数 onExpose 将暴露事件连接到重绘函数。

onExpose canvas $ \_ -> do
    refreshArea canvas ... 
    return True

一切正常,但在阅读 Gtk2Hs 文档时,我看到这个函数已被弃用,并将在下一版本的 Gtk2Hs 中消失。

你知道如何替换onExpose函数来连接暴露事件到我的函数长期兼容吗?

你应该使用 new event handling API. In particular you should install a handler for exposeEvent,就像下一个:

on canvas exposeEvent $ do
  -- do rendering here...
  return True

gtkgtk3 软件包都提供了相同的 API。