Как мне использовать темы с gtk2hs с ghc-7.4? - PullRequest
3 голосов
/ 11 февраля 2012

Следующая программа не работает должным образом:

module Main where

import Graphics.UI.Gtk
import Control.Monad.IO.Class (liftIO)
import Control.Concurrent (forkIO)

main = do
    unsafeInitGUIForThreadedRTS
    window <- windowNew
    windowSetDefaultSize window 200 200
    label <- labelNew (Just "Hello")
    forkIO (postGUISync (containerAdd window label))
    on window deleteEvent (liftIO mainQuit >> return True)
    widgetShowAll window
    mainGUI

Метка не добавлена ​​в окно.Я скомпилирую с резьбой.Я делаю это неправильно?

1 Ответ

2 голосов
/ 11 февраля 2012

Я считаю, что widgetShowAll показывает только детей во время выполнения, поэтому, если ваш containerAdd произойдет после этого, он не появится.Я предлагаю явно показать метку в действии, которое вы передаете postGUISync, например:

forkIO (postGUISync (containerAdd window label >> widgetShow label))
...