Я изучал Lablgtk2 для OCaml, и все было хорошо и работало, но когда я попытался добавить GEdit.entry
в любой контейнер, выполнение останавливается там, и любая вещь после не будет выполнена. но программа продолжает работать, и я должен завершить ее с ^C
. Например,
let local = GMain.Main.init ()
let main () =
let window = GWindow.window ~title:"Entry Test"
~width:200 ~height:200 () in
let hbox = GPack.hbox ~packing:window#add () in
let entry = GEdit.entry () in
(* window#show (); this will show an empty window *)
hbox#pack entry#coerce; (* this seems to be the problem *)
window#show (); (* this won't be shown*)
let win2 = GWindow.window ~title:"another window"
~width:200 ~height:200 () in
win2#show (); (* this won't be shown either *)
GMain.Main.main ()
let _ = main ()
Использование метки ~packing:
точно так же.
Я использую Ubuntu 19.10 и установил gtk2, как сказано здесь . Я установил lablgtk, используя opam с opam install lablgtk
ОБНОВЛЕНИЕ: Я установил lablgtk3 и протестировал его снова, теперь все работает нормально.