首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GUI在OCaml中的交叉开发,具有自然的外观

GUI在OCaml中的交叉开发,具有自然的外观
EN

Stack Overflow用户
提问于 2011-01-28 20:03:42
回答 1查看 1.6K关注 0票数 5

我想为我正在编写的OCaml应用程序构建一个图形用户界面。我的第一个想法是使用GTK+。我希望我的应用程序能够在Mac,Linux,Windows上运行,具有自然的外观和感觉。我知道,虽然GTK+默认在Mac上使用X11 (看起来很糟糕),但gtk-osx-application使用的是quartz,看起来很自然,我刚刚用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时,没有办法选择quartz而不是x11。)

(2)如果我使用gtk-osx-application在我的Mac上开发我的代码,我可以使用原样的代码在其他使用不同gtk的平台上编译吗,或者这会带来问题吗?

(3)如果它确实带来了问题,您是否知道在OCaml中开发GUI的其他环境可能在外观和感觉上都很好,并且仍然很容易交叉使用?(我知道labltk,但我更喜欢有更多功能的东西,例如,能够使用notebooks,也就是选项卡式面板,以及能够使用Glade进行快速GUI设计。)

谢谢你的帮助!

干杯,Surikator

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-29 00:55:45

假设你能让lablgtk工作,这可能是你目前最好的选择。

要使其正常工作:在移除X11 GTK并安装Quartz GTK之后,您是否尝试过重建lablgtk?针对Quartz GTK构建的LablGTK自然不能在Quartz GTK上工作,因为它将链接到错误的库,但是重建可能会成功。也可能是LablGTK不能正确检测到X11集成调用不起作用,因此构建失败,但我希望这不会太难修复,因为LablGTK确实支持Windows。

如果您在Mac上为GTK开发代码,那么它应该可以在其他平台上正常工作。当然,您会想要测试它,但它应该可以工作。一定要小心使用GTK工具,以使对话框按钮顺序等功能正常工作。

我认为曾经有一组OCaml绑定到wxWidgets,但它们似乎没有被广泛使用,根据我的经验,使用wx是一件痛苦的事情。也有一些关于Qt绑定的工作,这将是很棒的,但我认为还没有任何项目在这方面取得良好进展。

如果UI只是项目的一小部分,您可以考虑将其与后端解耦,并使用Qt在C++中编写UI,或者编写平台原生UI,然后让UI在嵌入式运行时中调用OCaml代码来完成实际工作。但这可能需要更多工作,并且可能不会给您带来太多好处,具体取决于您的应用程序。

因此: GTK是当前环境下的最佳选择。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4827990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档