我刚开始使用 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
也无济于事。为了澄清,当我运行程序时会出现实际的组合框,但它不包含任何字符串/为空白。
印象笔记图片