问题标签 [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 投票
1 回答
649 浏览

haskell - 通过 cabal 为 Haskell 安装 glade 库时出错

我正在使用与 Ubuntu 11.10 (7.0.3) 一起分发的最新版本的 GHC。

当我尝试安装 glade 时,我得到了这个:

gtk2hs-buildtools 和 gtk 已通过 cabal 成功安装。但林间空地不安装。这是一个错误吗?

0 投票
1 回答
1943 浏览

haskell - 如何升级gtk2hsC2hs?

我正在cabal install glib-0.12.3使用 cabal-install 0.10.2 在我的 Ubuntu 11.10 下尝试。但是,它显示以下错误消息:

经过半小时的搜索,我找不到这gtk2hsC2hs是哪里。我挖掘了http://code.haskell.org/gtk2hs/tools/c2hs/之类的地方,但似乎找不到正确的版本。

如何升级我的 gtk2hsC2hs?谢谢!

0 投票
1 回答
679 浏览

haskell - 是否可以在 gtk2hs 中使用 Glade 创建的菜单?

我在我的 gtk2hs 应用程序中使用 Glade 创建了菜单。是否可以在我的 Haskell 代码中使用它来为每个激活的菜单项编写操作?是否有一个关于 Hackage 的简单示例或项目可以用作说明性示例?

我能找到的唯一菜单示例http://www.muitovar.com/gtk2hs/chap7-1.html似乎对使用 Gtk Builder XML 没有帮助。

0 投票
1 回答
348 浏览

haskell - 有人可以向我解释 gtk2hs 拖放吗,listDND.hs 演示只是不适合我吗?

正如标题所说,我只是不明白DND(或者我理解这个概念并且我理解回调的顺序,我只是不明白如何设置DND以供实际使用。)我想说我以前在 C 中做过 DND 的东西,但考虑到我从来没有真正做到过......

所以我正在尝试(并且大部分成功,保存DND)编写一个文本编辑器(使用gtksourceview,因为它内置了代码突出显示。)如果你想要的话,原因如下。无论如何,对于 gtk2hs 并没有真正好的 DND 演示或教程(listDND.hs 在我的脑海中翻译得不好。)所以我要的是在窗口小部件上演示简单 DND 的代码(例如。 ) 理想情况下,它应该接受来自其他窗口(例如 Thunar)的丢包并以字符串形式打印出信息。我想我可以从那里拿走它...


原因:我正在运行一个相当轻量级的设置、dwm 和一些 gtk+2 程序。我真的不想引入 gtk+3 来从存储库(Arch Linux)中获取当前的 gedit。目前,我正在使用 geany 来满足我所有的文本编辑需求,但是,geany 对于编辑配置文件。此外,geany 并不关心我选择的终端 (st;),所以我什至没有将它用作 IDE 的好处。这意味着我想要一个带有语法突出显示的轻量级文本编辑器。我可以配置 emacs 或 vim 或其他东西,但在我看来,这更像是一种 hack,而不是一个适当的解决方案。于是我的项目诞生了。它大部分都在工作(除了DND,剩下的就是适当的多标签支持。)诚然,如果我用C编写它,我可能会解决这个问题,但是没有'

0 投票
1 回答
180 浏览

gtk2hs - EventM 在 Gtk2Hs 中是如何工作的?

我有一个使用 Gtk2Hs 绑定的小 Haskell 程序。可以通过单击 DrawingArea 在程序窗口上绘制点(小方块):

通过试错法并在阅读 Hackage 的文档后,我设法将按钮按下事件添加到绘图区域,因为小部件默认情况下不提供此事件的信号。但是,我不了解 EventM 的定义和用法,所以如果我必须再次向小部件添加新事件,恐怕我将不得不与 EventM monad 斗争。我必须说我仍然不够精通 Haskell。我有点理解简单的 monad 是如何工作的,但是这个“type EventM ta = ReaderT (Ptr t) IO a”(在 Graphics.UI.Gtk.Gdk.EventM 中定义)对我来说似乎是个谜。

我的问题是:有人可以解释一下 EventM monad 的内部结构吗?例如在“buttonPressEvent :: WidgetClass self => Signal self (EventM EButton Bool)”的情况下。

0 投票
1 回答
540 浏览

haskell - GUI in haskell using gtk2hs and glade

I have created a GUI using gtk2hs and glade and then passed it to haskell code in the main::IO(). Then I have some coding for the windows say for labels, buttons and entry text. e.g.,

Then after clicking on the applybutton

Passed the value to a variable number

Then I wrote a function for squaring the number like this

after the mainGUI.

Which doesn't work!!!!!!

It is supposed to be work as

I/p: Get a number from the user in GUI

o/p: Square of the number displayed in GUI

0 投票
2 回答
368 浏览

combobox - gtk2hs 中的组合框,林间空地

我使用 glade 创建了 Window、ComboBox、Buttons,代码如下:

如果我从 ComboBox 中选择一个选项并单击操作按钮,则会显示以下错误消息 UI.exe:用户错误(gtk\Graphics\UI\G tk\MenuComboToolbar\ComboBox.chs.pp 的 do 表达式中的模式匹配失败: 244:2-13)

当我从 ComboBox 中选择一个选项时,是否需要为要执行的操作提供单独的功能?请帮我!!

0 投票
1 回答
524 浏览

haskell - 如何处理 Gtk2Hs 中的应用程序状态

尝试学习使用 Gtk2Hs 编写应用程序时,我在弥合事件驱动的 Gtk2HS 和我的模型的持久状态之间的差距时遇到了困难。所以为了简化,假设我有这个简单的应用程序

我的应用程序的状态是按钮被按下了多少次。看到其他类似这样的帖子,他们依赖于 MVar 或 IORef,这对我来说似乎并不令人满意,因为将来我可能会想要重构代码,以便状态存在于自己的上下文中。

我认为解决方案应该使用 State monad 使用 step 函数,例如:

但我不确定其中的含义,如何在上面的代码中做到这一点,或者即使那个 monad 是我问题的正确解决方案。

0 投票
2 回答
294 浏览

haskell - 如何将 Haskell 类型强制为更通用的类型

我正在努力让以下代码通过 GHC:

尽管乍一看它看起来像是一个 Gtk2hs 问题,但它实际上是关于 Haskell 类型系统的。

当我尝试使用 GHC 编译此代码时,我收到以下错误消息:

的类型containerGetChildren是:

Widget类型本身就是 的实例WidgetClass,所以我不明白为什么我不能getFirstChild指定函数的返回类型,因为w2它是 的实例WidgetClass

有没有办法在 Haskell 中表达这一点而不使用类似的东西unsafeCoerce

TIA

0 投票
1 回答
258 浏览

haskell - gtksourceview2:实现完成提供程序

文档指出SourceCompletionProvider

“实现此接口”在上下文中是什么意思?

我应该GObject使用功能创建新功能吗?有什么例子吗?

当我有 newGObject时,如何sourceCompletionProviderGetName向它添加功能(如 )?

谢谢