问题标签 [gtk2hs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2389 浏览

glade - 带空地的单选按钮分组

我正在使用带有 gtk2hs 绑定的编辑器 Glade 在 Haskell 中编写 GUI。目前,我在对单选按钮进行分组时失败了。它不会让我选择组名。有人可以帮忙吗?

0 投票
1 回答
342 浏览

user-interface - 构建 Haskell (gtk2hs) GUI

我正在尝试使用 Gtk2Hs 构建中型 GUI,但我不太确定构建系统的最佳方式是什么。我正在寻找一种方法来单独开发子组件,并且通常最终得到一个不会让我以后拔头发的结构。

主要困难是由 API 是基于延续的相机等组件引起的(即,我需要使用带有 的相机包装块withVideoMode :: Camera Undefined -> (Camera a -> IO ()) -> IO ())。我也想将它们分开,但我还没有找到合理的方法来做到这一点。

我需要添加的大多数组件都需要初始化,例如设置相机参数或构建小部件,捕获由其他组件触发的事件以及最后的清理,例如断开硬件。

到目前为止,我已经考虑过使用ContTcps 部件和类似 snaplets 的组件,并将它们隐藏在某个State地方。第一个看起来非常重量级,第二个看起来很讨厌,因为我不能在 gtk2hs 回调中优雅地使用转换器。

(由于某种原因,今天的要点对我不起作用,所以很抱歉在这里发布整个巨大的代码)

0 投票
1 回答
345 浏览

haskell - 如何修复构建 gtk2hs 包中的“外部声明中的不可接受的结果类型:CULong”错误?

尝试使用 ghc-7.6.1 编译 gtk Haskell 包时,出现以下错误(尝试构建依赖项之一 pango 时,但如果我尝试手动安装它们也会出现在其他依赖项包中):

我之前安装了旧版本的 gtk2hs,所以在升级过程中会发生这种情况。

如何修复错误?

0 投票
2 回答
233 浏览

haskell - 替换所选文本并选择新文本

我正在使用 Gtk2Hs,所有这些 GTK 的东西对我来说都是新的。我正在使用TextView. 我想用一些新文本替换当前选择的文本,并选择新文本。我能想到的最接近的是:

我发现设置选择的唯一功能需要TextIters,而不是TextMarks。但是我还没有找到任何函数来从 TextMark 中获取 TextIter。这是正确的程序吗?

0 投票
1 回答
209 浏览

haskell - Why is this minimal Gtk2Hs program leaking memory

Using GHC 7.4.2 and GtkHs 0.12.4, on Win32 and Win64, this program takes more and more memory, consuming approximately 2Mb/sec on my machine. I am simply trying to make an animation using Gtk (this is why I invalidate the window so it gets redrawn immediately).

I tried to profile the memory usage with the RTS options, but this memory is not visible.

What is going on ?

-- Edit: I am using the version of Gtk found here which happens to be 2.24.10

-- Edit2: So, using an external timer instead of requesting widgetQueueDraw from the expose event fixes the problem. It will do for now, but I don't understand why. I have used this approach in several languages with several GUI framework (invalidating a GUI control in the paint event). Usually, calling the invalidate just sets a flag that gets read next time the GUI thread kicks in. It ends-up in the GUI thread redrawing the control each frame, but that is actually what I want here. It looks like a but in Gtk2Hs.

0 投票
0 回答
112 浏览

haskell - 使用gtk的haskell中textBufferSetView的缓冲区大小有什么限制?

缓冲区大小是多少?我可以设置一个缓冲区来接收

VC "缺点" [VC "Z" [],VC "缺点" [VC "S" [VC "Z" []],VC "缺点" [VC "S" [VC "S" [VC "Z" [ ]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "Z" []]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [ VC“Z”[]]]]]],VC“缺点”[VC“S”[VC“S”[VC“S”[VC“S”[VC“S”[VC“S”[VC“Z " []]]]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [ VC“Z”[]]]]]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [ VC "S" [VC "Z" []]]]]]]],VC "Nil" []]]]]]]]] VC "缺点』[VC "Z』[],VC』缺点" [VC "S" [VC "Z" []],VC "Cons" [VC "S" [VC "S" [VC "Z" []]],VC "Cons" [VC "S" [VC "S" [VC "S" [VC "Z" []]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" [] ]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S"[VC "S" [VC "S" [VC "Z" []]]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]]]],VC "缺点" [VC "S" [VC "S" [VC "S" [VC " S" [VC "S" [VC "S" [VC "S" [VC "S" [VC "Z" []]]]]]]],VC "Nil" []]]]]]] ]]]S" [VC "Z" []]]]]]]],VC "无" []]]]]]]]]]S" [VC "Z" []]]]]]]],VC "无" []]]]]]]]]]

它不会显示,而是我得到一个相当大的蓝屏。这是非常奇怪的行为。

VC "True" []不过它会很高兴地打印出来。

有任何想法吗?

0 投票
1 回答
108 浏览

windows - Windows 上的 gtk2hs 无法运行

我在 Linux 上使用 gtk2hs 编写了一个小应用程序,效果很好。后来我尝试在 Windows(xp,7)上运行相同的应用程序,但没有成功。我安装了:

  1. haskell 取胜平台
  2. gtk2hs 全部在一个包中,路径中没有空格,并将 %PATH% 设置为其 /bin 文件夹
  3. 阴谋集团安装 gtk2hs-buildtools
  4. 阴谋集团安装gtk
  5. ghc --make -O2 Main.hs

一切都可以编译和链接。当尝试运行该应用程序时,它说:

我不知道从哪里开始。

0 投票
1 回答
152 浏览

haskell - Haskell GTK 和 Monad 变形金刚

我正在使用 UI 制作和应用程序,我需要运行 aStateT和 a ReaderTover中的代码IO,我正在使用Graphics.UI.GtkUI 并且遇到以下问题:

我需要在单击某个按钮时调用一个具有签名的函数

但是在GTK, 在clickedOn函数上它需要一个IO ()参数:

我怎样才能让这个clickedOn功能“傻瓜”认为tryAttackIO ().


显然tryAttack代码是临时的。

0 投票
1 回答
104 浏览

haskell - 状态单子和 gtk2hs

我试图在我的 GUI 应用程序上保留一些状态,以便我能够从用户输入中构造一个值列表。但是我很难理解 State monad 所以......
这里有一些测试代码来说明我想要什么(很明显它不会编译,甚至没有尝试过):

无论如何,我认为我应该使用 StateT 而不是 State,但它在我的脑海中完全是一团糟(已经阅读了这么多 tutos ......)。即使它有效,也不是很好,因为我在每个循环中都给出了 [] 的初始状态。问题是如何编写函数 addToList 以便每次按下更新按钮时,用户输入都会添加到某个状态(先前输入的列表)?

0 投票
2 回答
1350 浏览

haskell - GTK2HS 无法安装最新的 cabal 版本

我正在开始一个有望使用 gtk2hs 的新项目。但是,我无法让这个包安装在我相当典型的 Linux 机器上。这是失败:

它似乎与最近的 cabal 版本有关,因为它以前可以工作。这似乎是一个已知的错误(http://trac.haskell.org/gtk2hs/ticket/1292http://trac.haskell.org/gtk2hs/ticket/1291http://trac.haskell.org/ gtk2hs/ticket/1289),但是它已经好几个星期没有移动了。我没有足够的能力提出一个好的解决方案,所以我想听听你的建议。这很烦人,因为我被困在这个重要的项目上,想到我们语言的主要 GUI 库已经坏了好几个星期了,我感到很痛苦。

使用 Cabal 库 / ghc 7.4.1 的 1.18.1.1 版本安装 1.18.0.2 版本

谢谢你的帮助