2010-11-26 7 views
7

私はHaskellで私の最初の「本当のプログラム」を作成する(多項式ならば積分を解く何かを)しようとしているが、私はそれのこの部分と完全に困惑:haskell/gtk2hsでグラフィカルコマンドラインを作るにはどうすればいいですか?

私は非常にシンプルなものビットなどを作りたいですGHCiの:私のプログラムの出力は、画像(PNG画像に数式を回すためにはLaTeXを使用して)であることを除いて

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

- 私はSystem.IOを使用してこれを行うことはできません。 gtk2hsをインストールすることは可能ですが、この入出力の対話方法を理解することはできません。

時間があればどうしたらいいか教えてください。どうもありがとう!

+0

私はハスケルのグラフ作成プログラムをどこかで見たと思ったが、見つけられないようだ。それから再び、私はそれがハスケルにあったかどうか完全にはわからない。 –

答えて

4

私たちは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 
0

まず、バックエンド、つまりコマンドを解析して出力イメージを作成するコードを実装する必要があります。それが動作すれば、GUIを実装できます。基本的には、入力用のテキスト入力と、出力用のテキストと描画ウィジェットが必要です。 GUIプログラミング(IMHO)は自明ではないので、最初にいくつかのGTK/gtk2hsチュートリアル/紹介を見てください。

関連する問題