gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:06:09 25 4
gpt4 key购买 nike

我想为我正在编写的 OCaml 应用程序构建一个 GUI。我的第一个想法是使用 GTK+ .我希望我的应用程序能够以自然的外观和感觉在 Mac、Linux、Windows 上运行。我知道,虽然 GTK+ 默认在 Mac 上使用 X11(看起来很糟糕),但有 gtk-osx-application它使用 quartz ,看起来很自然,我刚刚使用 macports 安装了它。

我有三个问题:

(1) 真的可以用gtk-osx-application +quartz+no_x11吗与 OCaml? (我的 GODI 安装之前(使用基于 x11 的 gtk2)安装 lablgtk2 没有问题,现在(使用 gtk-osx-application +quartz+no_x11 并删除了之前基于 x11 的 gtk2)提示找不到与 x11 相关的 /opt/local/lib/libgtk-x11-2.0.0.dylib。但是,据我所知,通过 GODI 安装 lablgtk2 时,没有办法选择 quartz 而不是 x11。)

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

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

谢谢你的帮助!

干杯,
苏瑞克托

最佳答案

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

为了让它工作:你有没有试过在移除 X11 GTK 并安装 Quartz GTK 后重建 lablgtk?基于 X11 GTK 构建的 LablGTK 自然无法在 Quartz GTK 上运行,因为它将链接到错误的库,但重建可能会成功。也可能是 LablGTK 无法正确检测到 X11 集成调用不起作用,因此无法构建,但我希望修复这个问题并不难,因为 LablGTK 确实支持 Windows。

如果您在 Mac 上为 GTK 开发代码,它应该可以在其他平台上正常工作。当然,您会想对其进行测试,但它应该可以工作。一定要小心使用 GTK 工具来使对话框按钮顺序之类的东西正常工作。

我认为曾经有一组 OCaml 绑定(bind)到 wxWidgets,但它们似乎没有被广泛使用,而且 wx 在我的经验中使用起来很痛苦。在制作 Qt 绑定(bind)方面也有一些工作,这将是很棒的,但我认为目前还没有任何项目在这方面取得良好进展。

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

所以:GTK 是当前形势下的最佳选择。

关于installation - OCaml 中的 GUI 交叉开发,具有自然的外观和感觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com