问题标签 [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 回答
76 浏览

haskell - Gtk2Hs:不推荐使用 onEntryActivate

Gtk2Hs中关于条目的文档有关于 Event 的条目onEntryActivate,当用户在输入字段中按 enter 时触发。这似乎是您大多数条目想要的东西。那么为什么这是在弃用部分?

0 投票
1 回答
60 浏览

windows - 如何在 gtk2hs 中的标签或其他显示小部件中依次显示单词?

我需要按顺序表示标签(或其他显示类型小部件)中的单词

,使用gtk2hs

我试过这个:

我认为,label当我按下按钮时,它应该显示“一”,等待 1 秒,显示“二”,等待一秒,然后显示“三”。 但这label仅在我按下按钮后 2 秒后显示“三” 。

我也试过Statusbar了,结果相同。

PS:也许它是特定于Windows的?

PPS:gtk2hs 为 0.12.4

0 投票
1 回答
576 浏览

haskell - 如何在 gtk2hs 的 TextView 中获取光标位置?

我有一个TextViewwith 分配的 non-empty TextBuffer

如何获取当前光标位置TextView?或者如何获取当前TextIter光标?

0 投票
1 回答
218 浏览

haskell - Haskell & gtk2hs,按钮激活信号未绑定

我无法从标签和操作列表中生成按钮。我很确定这与 IO 未得到评估有关('on button buttonActivated action'),但我不确定如何修复它。

我有一个(标签,命令)元组列表,我用它来生成一个按钮,它是关联的 IO () 操作。

调用的函数:'on button buttonActivated action'被调用,但按钮仍然没有注册点击。

任何帮助将非常感激。谢谢你。

编辑:

根据 chi 的回答,我将 ButtonInfo 数据类型更新为不执行 IO,并最终得到一个 IO [ButtonInfo],它允许我绑定操作。

修订来源(工作):

0 投票
3 回答
163 浏览

haskell - 是否可以使用 gtk2hs 清理一些代码?

我正在使用 haskell 和 gtk2hs 启动一个 GUI。我有一个笔记本小部件,我想用“F1,F2 ... F11”键切换页面。

我的工作代码是:

是否有更好和/或简洁的方法来做到这一点?我试图从“主要”中处理它,但只有“F1”有效。我不知道如何管理这个样板。

0 投票
1 回答
4138 浏览

gtk - 林间空地的桌子

我正在用 gtk2hs 制作一个 GUI 应用程序。大多数 GUI 都是在 Glade 中设计的。我现在需要一个表格来显示一些数据。问题是,我在林间空地找不到桌子。我在容器类别中搜索,但只找到一个“网格”。但是我在 gtk2hs 的文档中找不到网格,但我需要castTo*网格的功能才能使用它。

我现在想知道 glade 中的表格在哪里,或者我如何在 gtk2hs 中使用网格。

我的林间空地版本:3.18.2
我的 gtk2hs 版本:0.12.5.7

0 投票
1 回答
219 浏览

haskell - 状态栏中的换行符

我这里有一个使用 GTK 状态栏的程序,我想在其中进行多行输出。当我尝试向其中输出多行时,我得到的是字形,如下所示:

字形

我希望它像在 emacs 中一样工作:

字形

经过一番搜索,我发现layoutSetSingleParagraphMode似乎完全符合我的要求。大多数小部件的默认设置是 False ,我们自己没有在任何地方设置它,这让我认为状态栏默认为单段落模式。

我的问题是我不知道如何Statusbar使用PangoLayout此功能。

我最接近的是找到widgetGetPangoContext然后让我PangoLayout使用layoutEmpty但顾名思义,这似乎只是创建一个单独PangoLayout的,在操作时不会影响状态栏:推送或弹出文本的行为与之前一样。

有我缺少的功能吗?诚然,gtk2hs在类型类的海洋中游泳以模拟 OO,这无助于生成的文档的可读性。看来这应该是一个简单的任务。

如果我们不打算PangoLayout从现有的小部件中取出一个,那么我怎样才能实现我想要的呢?在状态栏创建时似乎没有选择段落模式的选项。

有关与此相关的此项目的 GitHub 问题,请参阅此内容。

0 投票
1 回答
167 浏览

haskell - 使用 Gtk2hs 和 Glade 的 Haskell 中 BASE64 编码器的 GUI

我有以下问题。我尝试使用 Gtk2Hs 和 Glade 在 Haskell 中为 BASE64 编码器创建一个简单的 GUI。这是 Haskell 中 BASE64 编码器的示例。

现在我想为此示例创建 GUI,但我希望能够输入任何值进行编码。我已经创建了包含以下组件的模板: - entry1(输入要编码的值) - 按钮(开始生成) - entry2(查看生成的值)

我的哈斯克尔代码:

编译时收到以下错误

0 投票
1 回答
270 浏览

haskell - gtk2hs - 将颜色转换为十六进制三元组

我正在使用 gtk2hs 在 Haskell 中工作,遇到了一个我找不到答案的问题。

我正在编写一个非常简单的程序:它采用一个颜色值(或多个颜色值),然后将一个函数应用于它们。它可以做一些事情,比如补色、一组颜色的平均值等等。我已经在 Glade 中完成了界面的整合,并阅读了一些关于使用 gtk2hs 的简单教程;到目前为止一切正常,当我运行我的程序时,我的界面就会出现。

但是,我的问题在于ColorSelection小部件。当我从中获得我的值时,它给出的值是类型Color Word16 Word16 Word16,其中每个Word16介于 0 和 65535 之间。我想要做的是将它String理想地转换为十六进制三元组(作为 a ),或者我可以转换成十六进制三元组。到目前为止,我发现这似乎与颜色存储为 rrrrggggbbbb 而不是 HTML 样式的 rrggbb 这一事实有关。我发现了什么,使用这段代码:

就是这样,虽然大多数时候它是准确的,但在使用颜色选择器工具时,我可以输入一种看起来与输出不同的颜色。例如,使用颜色选择器,我选择了#A9D06E- 但是,我的函数返回了"aa11 d12d 6e41". 虽然相当接近,但我无法计算出这种关系 - 在这个例子中,红色通道的四舍五入是如何工作的?另外,如果我#A9D06E直接输入十六进制值,我会得到"a9a9 d0d0 6e6e".

我曾尝试使用 Hoogle 找到一个将 a 转换Colour为 aString或 a的函数Colour,并在 Hackage 上搜索 Gtk 包的文档,但没有找到任何可以满足我要求的东西。我也搜索了互联网,找不到太多关于处理Colour类型的信息。我确实找到了一个功能来做我想要的,位于底部。但是,这有同样的问题,因为它不会给出与颜色选择器本身为特定选择给出的值相同的值。

更新 1

我也尝试过位移值。移位 8 位几乎总是给出正确的值,但是,根据我尝试过的其他事情,每隔一段时间就会稍微偏离。

0 投票
1 回答
239 浏览

haskell - How to display an image from Repa-DevIL in gtkImage in haskell

I'm working on an image processing program in Haskell. The Repa-DevIL library is good one for image processing. However, I need a GUI which can display the image in real time as it is being processed. How can I use gtkImage to diaplay an image of Repa.Array type?