【问题标题】:How can I use wxFreeChart in wxHaskell?如何在 wxHaskell 中使用 wxFreeChart?
【发布时间】:2012-01-11 18:43:11
【问题描述】:

我是 Haskell 的新手。

虽然wxFreeChart page in wxCode 说它支持所有wx 端口,但我不知道如何在haskell 中使用它

【问题讨论】:

    标签: haskell wxhaskell


    【解决方案1】:

    它是一个 C++ 库,所以如果你想从 Haskell 中使用它,你必须自己绑定它;这不太可能实用,因为将 C++ 库绑定到 Haskell 是一项艰巨的任务。 (事实上​​,wxHaskell 本身是基于 wxWidgets 到纯 C 的自定义“绑定”。)

    您可能应该想出另一种方法来完成相同的任务,或者如果您真的需要使用 wxFreeChart,请直接用 C++ 编写您的 GUI。您仍然可以将 Haskell 用于使用 FFI 的核心逻辑。

    wxWidgets 端口在这里不相关;它们是将 wxWidgets 粘合到 Windows、GTK+ 等窗口系统的部分。

    如果您没有过度依赖 wxWidgets,您可以查看 Chart 库,它可以是 used with Gtk2Hs。我自己没用过,不过好像quite polished

    【讨论】:

    • 这样做是难还是容易?是否有任何关于绑定库的信息?我想试试绑定
    • 将 C++ 库绑定到 Haskell 是非常困难的;正如我更新的帖子所说,它基本上涉及编写自己的 C 绑定到库。然后,您必须使用 FFI 导入该 C 绑定(可能使用 hsc2hsc2hs),在其周围编写包装器以使其可与 Haskell 一起使用……即使那样,我也不确定您是否能够让它与 wxHaskell 一起工作,因为您不一定能够获得需要传递给 wxFreeChart 的底层 wxWidgets 类型。
    • 我绝对不建议尝试为新手编写 C++ 库的绑定:)
    • 好的,感谢您的回答。那我会读一些关于 FFI 的东西。
    【解决方案2】:

    我是 wxFreeChart 的作者。在“所有端口”下,我的意思是 Windows、MacOS X、Gtk+、通用端口。

    wxHaskell 不直接支持,也没有计划支持它。如果 wxFreeChart 可以与 wxHaskell 一起工作,那就太好了。但是,我不确定。

    【讨论】:

      猜你喜欢
      • 2015-02-09
      • 2014-03-27
      • 2016-11-20
      • 1970-01-01
      • 2021-08-21
      • 2017-01-25
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      相关资源
      最近更新 更多