User interface Haskell中gui编程的简单应用程序
我创建了一个简单的haskell程序来显示窗口:User interface Haskell中gui编程的简单应用程序,user-interface,haskell,User Interface,Haskell,我创建了一个简单的haskell程序来显示窗口: module Main where import Graphics.UI.Gtk import Graphics.UI.Gtk.Glade data GUI = GUI { mainWin :: Window, clickMe :: Button, display :: Label } loadGlade :: IO GUI loadGlade = do Just xml <
module Main where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.Glade
data GUI = GUI {
mainWin :: Window,
clickMe :: Button,
display :: Label
}
loadGlade :: IO GUI
loadGlade = do
Just xml <- xmlNew "gladeFile.glade"
mw <- xmlGetWidget xml castToWindow "wdwFirst"
bc <- xmlGetWidget xml castToButton "btnClick"
ld <- xmlGetWidget xml castToLabel "lblDisplay"
return $ GUI mw bc ld
connectGui :: GUI -> IO (ConnectId Button)
connectGui gui = do
onDestroy (mainWin gui) mainQuit
onClicked (clickMe gui) (guiAnswer gui)
guiAnswer :: GUI -> IO()
guiAnswer gui =
labelSetText (display gui) "WELCOME!!"
main :: IO ()
main = do
initGUI
gui <- loadGlade
connectGui gui
mainGUI
modulemain其中
导入Graphics.UI.Gtk
导入Graphics.UI.Gtk.Glade
数据GUI=GUI{
mainWin::窗口,
点击我::按钮,
显示::标签
}
loadGlade::IO GUI
loadGlade=do
只是xml您忘记了实际显示窗口。函数调用,如
widgetShowAll window
好像不见了
编辑
这一主要功能应发挥作用:
main::IO()
main=do
initGUI
你是什么意思?是否有一个实际的函数widgetShowAll
,或者这只是一个建议?有一个函数名为。这显示了您需要的功能。(遗憾的是,本教程已经过时。)
widgetShowAll window