0

我想在 my 中添加一个功能buttonNewWithLabel,因此它对按下回车键做出反应,而不仅仅是onClicked事件。我找不到怎么做,但不应该有那么简单onClicked吗?

我的代码看起来像这样:

grt <- labelNew Nothing
str <- entryNew

but <- buttonNewWithLabel "Action"
but `onClicked` function1 str grt 
but `onEnterPushed`function1 str grt  <---  Something like this ?

里面有这样的功能Gtk2Hs吗?或者……还有什么我可以用的吗?

4

2 回答 2

1

我一直在旁边看,并研究小部件焦点,因为它是这样工作的。

答案是在标签上添加一段代码,告诉它在进入时激活。

我的工作是:

--Creating label & an entry
grt <- labelNew Nothing
str <- entryNew
str `onEntryActivate` function1 str grt   <-- This works like a charm!

--Create button
but <- buttonNewWithLabel "Action"
but `onClicked` function1 str grt 

我对 Haskell 和 Gtk2Hs 了解得越多,我就越喜欢它!:)

//问候

于 2012-10-20T11:49:01.450 回答
1
import Graphics.UI.Gtk
import Control.Monad.IO.Class (liftIO)

main :: IO ()
main = do
  initGUI
  window <- windowNew
  button1 <- buttonNewWithLabel "button1"
  containerAdd window button1
  button1 `on` buttonPressEvent $ do
      liftIO $ putStrLn "button1 got clicked"   
      return True
  widgetShowAll window
  mainGUI
于 2018-02-21T05:16:41.297 回答