gpt4 book ai didi

multithreading - 我如何在 ghc-7.4 中使用带有 gtk2hs 的线程?

转载 作者:行者123 更新时间:2023-12-02 02:18:53 27 4
gpt4 key购买 nike

以下程序未按预期运行:

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

标签没有添加到窗口。我用-threaded编译。我做错了吗?

最佳答案

我相信 widgetShowAll 只在执行时显示子项,所以如果您的 containerAdd 在那之后发生,它不会出现。我建议在传递给 postGUISync 的操作中明确显示标签,如下所示:

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

关于multithreading - 我如何在 ghc-7.4 中使用带有 gtk2hs 的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234711/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com