如何从OCaml调用Tk函数(lablTk没有)?

时间:2012-07-28 20:34:11

标签: ocaml tk

我正在尝试使用lablTk在Linux下的OCaml应用程序中构建GUI。我想选择一个目录;为此,Tk有一个名为chooseDirectory的函数,但是lablTk没有这个函数。如何从标准对话框中选择目录? Tk 8.4支持此功能,我希望OCaml可以使用它。

实际上,lablTk的Tk模块上的文档很少。我从this documentation看到Tk模块中有getOpenFilegetSaveFile等功能,但不是chooseDirectory

  1. 如何在Tk模块中查看lablTk导出的功能? / usr / lib / ocaml / labltk /中没有tk.mli文件。这是否意味着Tk模块的C端直接绑定到getOpenFile等函数,而不通过OCaml模块?
  2. 如果Tk模块可以直接绑定这些函数,也许我可以做一些工作并直接调用lablTk中未包含的Tk函数,例如chooseDirectory?是否可以通过某种方式将其声明为“外部”(如何?)来调用此函数,还是需要做更多的工作?我会考虑在C中编写一个小包装器,这样除了lablTk中可用的函数之外,我还可以调用更多的Tk函数,如果这可能并且不是非常耗时的话。或者我是否必须修改lablTk的来源,重新编译并安装lablTk的自定义版本,以便我可以使用更多的Tk功能?如果是这样,我如何使用这些更改重新编译lablTk,我应该记住什么? (我在哪里可以看到文档?)

0 个答案:

没有答案