首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gtk2hs小部件列表

gtk2hs小部件列表
EN

Stack Overflow用户
提问于 2017-01-04 15:26:55
回答 1查看 54关注 0票数 0

我如何创建一个列表(或其他什么。而不是接受某些类型类型的不同实例的元组?具体来说,我想做以下几件事:

代码语言:javascript
复制
[labelNew (Just "foo"), buttonNewWithLabel "bar"]

我不关心语法-糖,我只想把一个小部件列表传递给一个函数,这个函数会把它们传递给另一个接受任何小部件的函数。

现在,我们的目的只是消除线路噪音,就像这样。

代码语言:javascript
复制
boxPackStart box content1 PackNatural 0
boxPackStart box content2 PackNatural 0
...
boxPackStart box content100 PackNatural 0

应该是

代码语言:javascript
复制
box <- col PackNatural [content1, content2, ..., content100]

我发现有几页提到了一些动态列表,但当上面写着“不是打字机”时,我就停止了阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-04 16:53:16

特别是对于小部件,您可以使用

代码语言:javascript
复制
toWidget :: WidgetClass o => o -> Widget

若要将标签和按钮安全地向上放置到小部件,请参见:

代码语言:javascript
复制
do
    label <- labelNew (Just "foo")
    button <- buttonNewWithLabel "bar"
    col PackNatural [toWidget label, toWidget button]

其他gtk2hs类具有类似的转换功能;通常在该包集合中,to*是安全的上播,而castTo*是不安全的下播。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41467392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档