我需要按顺序表示标签(或其他显示类型小部件)中的单词
,使用gtk2hs。
我试过这个:
import Graphics.UI.Gtk
import Control.Concurrent
main = do
initGUI
window <- windowNew
window `onDestroy` mainQuit
lay <- vBoxNew False 0
but <-buttonNewWithLabel "Sequently show one, two and three"
lab <- labelNew Nothing
onPressed but $ do
labelSetText lab "one"
threadDelay 1000000
labelSetText lab "two"
threadDelay 1000000
labelSetText lab "three"
containerAdd window lay
containerAdd lay but
containerAdd lay lab
widgetShowAll window
onDestroy window mainQuit
mainGUI
我认为,label
当我按下按钮时,它应该显示“一”,等待 1 秒,显示“二”,等待一秒,然后显示“三”。
但这label
仅在我按下按钮后 2 秒后显示“三” 。
我也试过Statusbar
了,结果相同。
PS:也许它是特定于Windows的?
PPS:gtk2hs 为 0.12.4