0

我正在为 OCaml 学习 Lablgtk2,一切都很好并且可以正常工作,但是当我尝试添加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,如此所述。我已经使用 opam 安装了 lablgtk opam install lablgtk

更新:我安装了 lablgtk3 并再次测试,现在一切正常。

4

0 回答 0