OCaml中的GUI交叉开发,具有自然的外观和感觉

我想为我正在编写的OCaml应用程序构建一个GUI。我的第一个想法是使用GTK +。我希望我的应用程序可以在Mac,Linux,Windows上运行,具有自然的外观和感觉。我知道,虽然GTK +默认在Mac上使用X11(看起来很糟糕),但有gtk-osx-application使用石英,看起来很自然,我刚刚使用macports安装。 我有三个问题: (1)实际上是否可以在OCaml中使用
gtk-osx-application +quartz+no_x11
? (我之前的GODI安装(基于x11的gtk2到位)安装lablgtk2没有问题,现在(用
gtk-osx-application +quartz+no_x11
和之前的基于x11的gtk2删除)抱怨没有找到
/opt/local/lib/libgtk-x11-2.0.0.dylib
,这是x11相关的。但是,到目前为止据我所知,当通过GODI安装lablgtk2时,没有办法选择石英而不是x11。) (2)如果我使用gtk-osx-application在我的Mac上开发代码,我可以在其他使用不同GTK的平台上使用代码进行编译,还是会带来问题? (3)如果它确实带来了问题,你是否知道在OCaml中开发GUI的任何其他环境可能对外观和感觉都有好处并且仍然可以很容易地交叉使用? (我知道labltk但我更喜欢具有更多功能的东西,例如,能够使用笔记本电脑,a.k.a标签面板,以及能够使用Glade进行快速GUI设计。) 谢谢你的帮助! 干杯, Surikator     
已邀请:
假设你可以让lablgtk工作,这可能是你目前最好的选择。 为了让它工作:你在删除X11 GTK并安装Quartz GTK后尝试重建lablgtk吗?针对X11 GTK构建的LablGTK自然不适用于Quartz GTK,因为它将链接到错误的库,但重建可能会成功。也可能是LablGTK无法正确检测到X11集成调用无法正常工作,因此无法构建,但我认为由于LablGTK支持Windows,因此难以修复。 如果你在Mac上为GTK开发代码,它应该在其他平台上运行得很好。当然,你会想要测试它,但它应该可以工作。小心使用GTK工具使对话框按钮顺序正常工作。 我认为曾经有一组OCaml绑定到wxWidgets,但它们似乎并没有被广泛使用,而且根据我的经验,使用wx很痛苦。还有一些关于制作Qt绑定的工作,这将是很棒的,但我认为还没有任何项目在这方面取得了很好的进展。 如果UI是项目中的一小部分,您可以考虑将其与后端分离并使用Qt在C ++中编写UI,或编写平台本机UI,并让UI调用嵌入式中的OCaml代码运行时完成真正的工作。但这可能是更多的工作,可能不会给你带来太多好处,具体取决于你的应用程序。 所以:GTK是您当前领域的最佳选择。     

要回复问题请先登录注册