Могу ли я построить графический интерфейс из ocaml?

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

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

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

2 ответа

Решение
  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 ();;
  1. Графика не имеет основного цикла, как GTK, поэтому здесь нет проблем. Но внутри приложения GTK вы должны использовать вместо этого cairo.

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

#load "graphics.cma";;
Graphics.open_graph " ";;
Другие вопросы по тегам