我遇到Gtk2H问题,我想设置一个cellRenderer
可激活。
为此,我需要使用以下内容将其cellMode
设置为CellRendererModeActivatable
:
set render [ cellMode:= CellRendererModeActivatable ]
但是编译时出现以下错误
Not in scope: data constructor `CellRendererModeActivatable'
我在使用GHC 7.4.1的Debian Wheezy上使用Gtk2Hs 0.12.3。
如果构造函数存在(在文档的正确版本中)并且...... 它确实,我查看了Hackage。
我试图明确加载模块
import Graphics.UI.Gtk.ModelView.CellRenderer
但编译错误保持不变。
你知道错误的来源吗?
答案 0 :(得分:2)
这看起来像旧的Haskell库中的一个错误:来自其源代码
module Graphics.UI.Gtk.ModelView.CellRenderer (
-- snip
CellRendererMode,
以上是不导出构造函数。较新的版本:
module Graphics.UI.Gtk.ModelView.CellRenderer (
-- snip
CellRendererMode(..),
您可以尝试将Haskell库更新为更新版本。那应该解决它。
<强>替代即可。即使在旧版本中,该类型也有Enum
个实例,因此快速&amp;脏的解决方法,您可以使用toEnum 1 :: CellRendererMode
而不是构造函数。
data CellRendererMode = CellRendererModeInert -- 0
| CellRendererModeActivatable -- 1
| CellRendererModeEditable -- 2
deriving (Enum,Eq)