Могу ли я построить графический интерфейс из ocaml? - PullRequest
11 голосов
/ 16 февраля 2012

À несколько вопросов, касающихся интерактивного программирования верхнего уровня и графического интерфейса:

  1. Можно ли динамически построить графический интерфейс с уровня ocaml?

  2. Можно тоже использовать библиотеку графики?

Ответы [ 2 ]

12 голосов
/ 16 февраля 2012
  1. Вы можете использовать уровень LWT с интеграцией с главным циклом lablgtk:

установить lwt-glib и 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.
6 голосов
/ 16 февраля 2012

Вы также можете использовать модуль Graphics (см. Руководство ).Вам нужно будет управлять многими вещами самостоятельно (цикл обработки событий, наборы инструментов), но это намного проще, чем lablgtk:

#load "graphics.cma";;
Graphics.open_graph " ";;
...