我正在尝试在haskell中创建我的第一个"真实程序"(如果多项式可以解决积分问题),但我完全被这部分内容所困扰:
我想做一些非常简单的东西,比如GHCi:
> user input
program output
> user input
program output
> user input
program output
>
Run Code Online (Sandbox Code Playgroud)
除了我的程序输出是图像(使用LaTeX将数学表达式转换成PNG) - 所以我不能使用System.IO这样做.我认为有可能用gtk2hs我已经设法安装但我无法弄清楚如何进行输入/输出对话.
如果你有时间,请告诉我它是如何完成的.非常感谢!
感谢 ClaudiusMaximus,我们设法提出了以下解决方案。
module Main where
import Graphics.UI.Gtk
main = do
initGUI
----------------
win <- windowNew
onDestroy win mainQuit
vb <- vBoxNew False 3
log <- vBoxNew False 2
sc <- scrolledWindowNew Nothing Nothing
scrolledWindowSetPolicy sc PolicyNever PolicyAutomatic
sw <- layoutNew Nothing Nothing
en <- entryNew
----------------
scrolledWindowAddWithViewport sc log
boxPackStart vb sc PackGrow 0
boxPackStart vb en PackNatural 0
set win [ containerChild := vb ]
en `onEntryActivate` do
txt <- entryGetText en
entrySetText en ""
l <- labelNew (Just txt)
boxPackStart log l PackNatural 0
widgetShowAll log
Just ran <- scrolledWindowGetVScrollbar sc
adj <- rangeGetAdjustment ran
max <- adjustmentGetUpper adj
adjustmentSetValue adj max
----------------
widgetShowAll win
mainGUI
Run Code Online (Sandbox Code Playgroud)