我有这个示例代码,其中我有一个包含ListBoxRows的ListBox,而ListBoxRows又包含一个Label。当我点击ListBox时,我得到一个ListBoxRow。到现在为止还挺好。当我想与ListBoxRows孩子交互时,问题就开始了。
我使用此函数来获取Label,它是ListBoxRow的子元素。 The way she suggests to update validators
但是,返回的类型是Widget。如何转换对象的类型?函数widgetGetName告诉我它是一个标签,但Haskell Type系统坚持认为它是一个Widget,所以我不能使用标签特定的功能。
array
感谢Dan
答案 0 :(得分:1)
试试这个:
cc <- containerGetChildren r
mlabel <- castTo Label (head cc)
case mlabel of
Nothing -> putStrLn “Not a label!”
Just label -> labelGetText label >>= putStrLn