我正在尝试在Haskell中创建我的第一个“真实程序”(如果多项式(如果多项式)解决了积分),但是我完全对此感到困惑:

我想让一些非常简单的东西像GHCI:

> user input
program output
> user input
program output
> user input
program output
> 

除了我的程序输出是图像(使用乳胶将数学表达式转换为pngs) - 所以我无法使用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

其他提示

我认为您应该首先实现后端,即解析命令并创建输出图像的代码。如果有效,则可以实施GUI。基本上,您需要一些文本条目以进行输入,文本和图形小部件以进行输出。由于GUI编程并非微不足道,因此您应该首先查看一些GTK / GTK2HS教程 /介绍。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top