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

haskell - gtk : 树视图中的图片组合

我正在尝试在树视图单元格内制作一个图片组合框(如下所示)以进行选择。

在此处输入图像描述

我尝试使用 acellRendererComboNew来渲染组合,但填充组合框的选项cellComboTextModel :=仅适用于String我无法渲染图片。

我尝试使用cellRendererPixbufNew. 它渲染图像,但我无法对其进行选择。

这样做的正确方法是什么?

Haskell、Python 或任何语言中的示例将非常有帮助。

此致。

0 投票
1 回答
172 浏览

haskell - gtk2Hs : 带有文字和图片的组合框

Gtk提供的基本ComboBox只能处理aString或aPixbuf

但我想要在同一行选择附近的文本和图片。

我找了一会儿如何使用 Haskell 和 Gtk2Hs 获得下面的结果。

在此处输入图像描述

0 投票
1 回答
54 浏览

haskell - Gtk2Hs:未找到现有功能

我对 Gtk2Hs 有问题,我想设置一个cellRenderer可激活的。为此,我需要使用以下方法将其属性设置 cellModeCellRendererModeActivatable

但是编译时出现以下错误

我在我的 Debian Wheezy 上使用 Gtk2Hs 0.12.3 和 GHC 7.4.1。

如果构造函数存在(在文档的正确版本中),我查看了 Hackage 并且......它确实存在

我试图明确加载模块

但编译错误保持不变。

你知道错误来自哪里吗?

0 投票
0 回答
147 浏览

haskell - Gtk : 使 pixbuf cellrenderer 可编辑

我想在树视图单元格内制作一个图片组合框(该单元格必须呈现所选图片)

我尝试了这些解决方案:

  1. cellRendererComboNew在列中创建一个。单元格是可编辑的,但组合框只能渲染Strings
  2. 我使用该editingStarted信号来检测单元格的版本,并在该单元格中创建一个带有图片的组合框。它工作正常,但单元格不渲染图片!
  3. 我尝试cellRendererPixbufNew在列中创建一个并使这些单元格可编辑(可单击、可选择)并以editingStarted与以前相同的方式使用信号。但是 pixbuf 单元格不可编辑!
  4. 我尝试更改单元格的cellMode属性, 以便在单击单元格时发出set render [ cellMode:= CellRendererModeActivatable ]信号。editingStarted但它不起作用!

我的问题是:

  • 是否可以使 pixbuf 单元格渲染器可编辑?正确的方法是什么?
  • 是否可以检测到树视图单元格上的左键单击并将该单元格内的小部件替换为editingStarted
  • 你有 Haskell 的例子吗?Python?或任何语言?

此致。

0 投票
2 回答
169 浏览

haskell - 无法将预期类型“()”与实际类型“Int”匹配

我对 Haskell 和 Gtk2Hs 有一个奇怪的错误。

我尝试在文本条目中设置光标位置

对应于类型

我有以下错误:

你认为这是一个错误吗?你知道怎么解决吗?

我在我的 Debian Wheezy 上使用 Gtk2Hs 0.12.3 和 GHC 7.4.1。

此致。

0 投票
1 回答
46 浏览

haskell - Gtk2Hs 在程序或小部件中设置本地格式

我正在尝试设置旋转按钮的语言环境格式。我系统上的小数点是一个逗号,,我希望它变成一个点.

GTK 或 Glib 中是否有一个函数可以在小部件上全局或本地设置语言环境格式。

local我在 GTK 和 Glib 中查看了名为, format, , ...的 hackage 函数,decimal但没有找到合适的函数。

我已阅读可以使用该功能手动设置输出,entrySetText但我正在寻找全局设置。

你知道如何在 Gtk 程序中全局更改语言环境格式吗?正确的功能?

0 投票
0 回答
97 浏览

haskell - gtk : 在 cellrenderer 中连接 spinbutton 信号

我正在使用 Gtk 制作带有树视图的 GUI。

我想连接 a 的更新信号以CellRendererSpin在每次修改旋转按钮时(在使用“输入”验证之前)进行一些操作(更新绘图)。

我试图获取小部件微调按钮editingStarted并连接微调按钮的信号onValueSpinned以进行更新。

当我单击旋转按钮来增加或减少时,更新已完成,但事情正在消失......更新按顺序进行非常快并且不会停止。

onValueSpinned widcast我试图通过onValueChanged adj调整旋转按钮来替换

我试图替换onValueSpinned它,onValueSpinned它仍然在逃跑。onValueChangedafterValueChanged

我有几个问题:

  1. on renderspin editingStarted访问树视图中的微调按钮小部件的正确方法是什么?有替代方法吗?
  2. 是否有特定的信号/功能可以进行一次更新?
  3. 我获得预期结果的方法是全局正确的还是我完全错了?
  4. 您有任何语言(C、Python、Haskell、...)的示例吗?
0 投票
1 回答
2754 浏览

user-interface - 是否有 Gtk 电子表格小部件

我打算制作一个程序来编辑电子表格样式的数据。

是否有特定的小部件可以使用 Gtk(任何版本)制作电子表格,例如 wxWidget 中的 wxSheet?

如果没有,你知道它是否打算由 Gtk 开发人员实现吗?

我希望实现的功能的一些细节:

  • 编辑单元格中的文本或数字
  • 将单元格选择复制/粘贴到其他电子表格,如 Libre Office,...
  • 添加/删除行和列
  • 独立修改单元格颜色
  • 每列将具有相同的格式

根本不打算使用以下功能:

  • 合并/生成单元格
  • 将图片或“非常规”的东西放在单元格中。

准确地说,我想要这样的东西:

在此处输入图像描述

0 投票
1 回答
207 浏览

haskell - 监听 gtk2hs 中剪贴板的“所有者更改”事件。如何设置?

使用 Gtk2Hs,我想设置一个回调来监听剪贴板的“所有者更改”事件。

我可以通过以下查询了解 X 服务器是否支持此功能:

在 C中这样做应该是直截了当的:

我看到 Gtk2Hs 中的回调是这样设置的:

问题

  • 我找不到任何OwnerChangeEvent. Graphics.UI.Gtk.Gdk.EventM仅提供类型函数EventM来查询所有者更改事件。

  • onSystem.Glib.Signals 需要一个关联的小部件接受任何对象和与该对象关联的事件 ( on :: object -> Signal object callback -> callback -> IO (ConnectId object)。如果我对 X 的理解正确,则不需要有一个窗口来监听此事件。

要么我误解了如何将它包装在一起,要么我已经达到了 Gtk2Hs 中尚未实现的 gtk 部分。

因此,我查看了它的定义,keyPressEvent如下所示:

ownerChangeEvent所以,我通过在 gtk like 中简单地添加一个定义来进行测试keyPressEvent,但替换"key_press_event""owner_change_event".

这不起作用,因为我收到关于找不到事件的运行时错误。自然。

如果可能的话,关于如何在 gtk 中正确监听“所有者更改”事件的任何想法?

0 投票
0 回答
74 浏览

haskell - labelSetText 在 timeoutAdd 处理程序中执行时表现奇怪

我写了一个简单的时钟程序,在winxp下运行良好。在 linux 下运行时,它的行为很奇怪。程序绘制一个文本设置为“00:00”的标签,然后每秒用相同的文本更新一次。

为了运行程序,我在命令行中指定了字体大小。如果我将它设置得非常小(我的屏幕为 200.0 或更低,它可能与您的不同)它工作正常。如果我将它设置得太大并且文本不适合屏幕(在我的情况下为 500.0),它也可以正常工作。但是,当我选择中间的大小(例如,300.0 或 400.0)时,它会显示“00:00”,但是一旦 updateClock 设置了文本,它就会在屏幕上变为“:00”(它没有向左移动,只有两个前导零被空格替换)

这是演示该问题的简化代码:

我使用 libghc-gtk-dev 0.12.4-3,

ghc 7.6.3

和 libgtk2.0-0 2.24.23-0ubuntu1.2。

我用 ghc --make --threaded 编译

我很难弄清楚这里发生了什么。我将不胜感激任何帮助