Combobox glade gtk2hs中的组合框
我使用glade创建了窗口、组合框和按钮,代码如下:Combobox glade gtk2hs中的组合框,combobox,glade,gtk2hs,Combobox,Glade,Gtk2hs,我使用glade创建了窗口、组合框和按钮,代码如下: module Main where import Graphics.UI.Gtk import Graphics.UI.Gtk.Glade main = do initGUI Just xml <- xmlNew "Tp.glade" window <- xmlGetWidget xml castToWindow "window1" button <- xmlGetWidget xml ca
module Main where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.Glade
main = do
initGUI
Just xml <- xmlNew "Tp.glade"
window <- xmlGetWidget xml castToWindow "window1"
button <- xmlGetWidget xml castToButton "button1"
comboBox <- xmlGetWidget xml castToComboBox "combobox1"
onClicked button $ do
putStrLn $ "Apply button selected "
selected <- comboBoxGetActiveText comboBox
print selected
onDestroy window mainQuit
widgetShowAll window
mainGUI
如果我从组合框中选择一个选项并单击操作按钮,它将显示以下错误消息
UI.exe:gtk\Graphics\UI\G处do表达式中的用户错误模式匹配失败
tk\MenuComboToolbar\ComboBox.chs.pp:244:2-13
当我从组合框中选择一个选项时,是否需要为要执行的操作提供单独的功能?请帮帮我 如Gtk2Hs文档中所述,comboBoxGetActiveText在comboBox中返回当前活动的字符串,如果未选择任何字符串,则不返回任何内容。请注意,此函数只能用于使用comboBoxNewText构造的组合框 如果要使用此功能,请尝试以下选项之一: 不要在Glade文件中将combobox的TreeModel设置为ListStore,并在line combobox之后添加line comboBoxSetModelText combobox如果使用comboBoxGetActive函数,它将返回一个Int,然后可以映射到combobox中的每个元素。这可以在Graphics.UI.Gtk.MenuComboToolbar.ComboBox API中找到