user-interface - OCaml+LablGTK2 : Multi-Line Text Box

标签 user-interface textbox ocaml gtk2 lablgtk

我试图弄清楚如何在图形小部件内实例化多行文本框。 LablGTK2 在文档方面似乎相当有限,并且对于开始看起来像我想要的东西来说 API 也很少。

我已经开始交叉引用原始 GTK2 文档,https://developer.gnome.org/gtk3/stable/gtkobjects.html ,针对 Lablgtk2 文档,http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk/html/GText.html .

但是,我发现的最好的教程或简单/清晰的示例利用了非常有限的单行文本输入框: http://plus.kaist.ac.kr/~shoh/ocaml/lablgtk2/lablgtk2-tutorial/x1155.html

我发现一些清晰简单的派生示例非常适合学习基础知识。有谁有示例插图展示如何使用 OCaml 和 Lablgtk/lablgtk2 设置多行文本?或者更好的推荐教程来展示如何开发多行文本框(这在任何基于 GUI 的程序中都是一个非常重要的功能)?理想情况下,我想将多行文本中的文本输入连接到我编写的 OCaml 模块,该模块将处理该文本,然后 GUI 会将处理结果显示回 GUI 上。任何帮助将不胜感激。

最佳答案

您可以使用 GtkTextView 小部件来显示多行文本:

let _ =
    (* prepare main window *)
    let window = GWindow.window () in
    window#connect#destroy ~callback:GMain.Main.quit;

    (* add text view with scroll bars *)
    let scroll = GBin.scrolled_window
                 ~hpolicy:`AUTOMATIC ~vpolicy:`AUTOMATIC
                 ~packing:window#add () in
    let textview = GText.view ~packing:scroll#add_with_viewport () in

    (* set text *)
    textview#buffer#set_text "multi-\nline\ntext";

    (* show everything and enter main loop *)
    window#show ();
    GMain.Main.main ()

关于user-interface - OCaml+LablGTK2 : Multi-Line Text Box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16283984/

相关文章:

javascript - 在jquery中添加文本框标题

vim - 在vim中使用merlin在ocaml中进行coq插件开发

java - 尝试在 Swing 中实现自定义 UI 元素

java - 如何使用 Java Swing 实现可拖动选项卡?

php - 将txt文件/数据导入到我的mysql数据库

ocaml - 我可以将值传递给 Ocaml 中的仿函数吗?

functional-programming - 用函数式语言生成所有排列

android - 密码单行如何

java - Java中根据背景排列图像

c# - 当焦点位于文本框的自动完成框时禁用按键事件