【发布时间】:2014-02-06 00:28:19
【问题描述】:
我刚开始使用 gtk2hs(hackage 上的 gtk3)并且遇到了一些关于组合框的问题。 我不能让一个简单的 comboBoxNewText 显示它的字符串。我已经注释掉了我的应用程序中不需要的所有内容,所以我只有一个用于实际框的基本框架。
import Graphics.UI.Gtk
import Control.Monad.IO.Class
main = do
initGUI
window <- windowNew
set window [windowTitle := "Table", containerBorderWidth := 20,
windowDefaultWidth := 800, windowDefaultHeight := 600]
table <- tableNew 10 10 True
containerAdd window table
lbox <- hBoxNew False 0
rbox <- hBoxNew False 0
tableAttachDefaults table lbox 0 3 0 10
tableAttachDefaults table rbox 3 10 0 10
cb <- comboBoxNewText
comboBoxAppendText cb "test"
boxPackStart lbox cb PackGrow 10
on window deleteEvent $ liftIO mainQuit >> return False
widgetShowAll window
mainGUI
我错过了什么吗? gtk3 在 hackage 上被标记为不稳定的 iirc,这可能是一个错误吗?还是我只是做错了什么?
添加comboBoxSetActive cb 0 也无济于事。为了澄清,当我运行程序时会出现实际的组合框,但它不包含任何字符串/为空白。
evernote image
【问题讨论】:
-
组合框是否完全为空,还是包含正确数量的空白条目?
-
它完全是空的,点击后会显示一个比框宽且只有几个像素高的窗口。
-
这个确切的代码在链接到 gtk 而不是 gtk3 时有效。所以看起来 gtk3 包中可能存在错误。
标签: haskell combobox gtk3 gtk2hs