我可以从ocaml toplevel构建一个图形界面吗?
答
- 您可以使用LWT顶层与集成与lablgtk主循环:
安装LWT,能说会道,lablgtk,在基于Debian的系统:
的apt-get安装liblwt -glib-ocaml-dev liblablgtk2-ocaml-dev
在OCaml顶层,加载所有内容:
#use "topfind";;
#require "lwt.simple-top";;
#require "lwt.glib";;
#require "lablgtk2";;
然后初始化GTK和LWT集成:
GMain.init();;
Lwt_glib.install();;
即插即用:
let w = GWindow.window();;
w#show();;
- 图形不具有主循环像GTK,所以这里没有问题。但是在GTK应用程序中,您应该使用cairo。
答
您还可以使用Graphics
模块(见manual)。你需要自己管理很多事情(事件循环,工具包),但它比lablgtk
简单得多:
#load "graphics.cma";;
Graphics.open_graph " ";;
这真是太棒了。我一直在寻找这么长时间的诡计! – 2012-02-16 12:22:04
也可以使用图形库吗? – 2012-02-16 12:24:04
图形没有像GTK这样的主循环,所以这里没有问题。但是在GTK应用程序中,您应该使用cairo。 – 2012-02-16 12:28:51