【问题标题】:How to render diagrams in gi-gtk?如何在 gi-gtk 中渲染图表?
【发布时间】:2022-07-15 20:35:37
【问题描述】:

我想在用gi-gtk 编写的 GUI 上渲染一个diagram。我尝试使用Diagrams.Backend.Gtk 中的defaultRender 函数,但编译器抱怨:

• Couldn't match expected type ‘gtk-0.15.5:Graphics.UI.Gtk.Types.DrawingArea’
              with actual type ‘Gtk.DrawingArea’
  NB: ‘Gtk.DrawingArea’
        is defined in ‘GI.Gtk.Objects.DrawingArea’
            in package ‘gi-gtk-3.0.36’
      ‘gtk-0.15.5:Graphics.UI.Gtk.Types.DrawingArea’
        is defined in ‘Graphics.UI.Gtk.Types’ in package ‘gtk-0.15.5’
• In the first argument of ‘defaultRender’, namely ‘canvas’

在验证了Diagrams.Backend.Gtk 之后,我看到它是用来自 GTk2Hs 的旧 Graphics.UI.Gtk.Types 构建的,这似乎是导致此错误的原因。

有没有类似Diagrams.Backend.Gtk的模块,用GI.Gtk包写的?

您知道将来图表后端是否会使用GI.Gtk 包构建?

【问题讨论】:

  • diagrams-gtk 包实际上是需要移植的 just about 100 LOC。也许你这样做并提交 PR 是有意义的。
  • (当然这主要是因为它只不过是diagrams-cairo 的一个薄包装;首先直接使用它可能是有意义的。)

标签: haskell gtk gtk3 gtk2hs


【解决方案1】:

还有另一个包diagrams-gi-gtk 可能包含您要查找的内容。 我最近将它更新到 GTK4,所以你可能想使用我的 fork 直到它被合并。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多