data Rectangle = Rectangle Int Int Int Int
(链接到 gtk2hs-doc)
我不知道从Rectangle
.
如何获取数据类型的非命名字段值?谢谢。
为了什么:
我想获得一个小部件的大小并尝试这样:
main = do
initGUI
-- . . .
widget <- drawingAreaNew
canvasArea <- newIORef $ Rectangle 0 0 defaultWidth defaultHeight
widget `onExpose` updateCanvas widget (liftIO (readIORef canvasArea) >>= render)
onSizeAllocate widget $ updateSize canvasArea
-- . . .
updateSize :: IORef a -> a -> IO ()
updateSize old new = writeIORef old new
并注意到我不知道获取值的方式......