需要另一个事件处理程序(按下按钮)Gtk2Hs

时间:2012-10-19 18:21:50

标签: haskell gtk2hs

我想在我的buttonNewWithLabel中添加一个函数,因此它会按下回车键,而不仅仅是onClicked事件。我找不到怎么但不应该像onClicked那样简单?

我的代码peice看起来像这样:

grt <- labelNew Nothing
str <- entryNew

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

Gtk2Hs中有这样的功能吗?或者......我还能用其他东西吗?

2 个答案:

答案 0 :(得分: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&amp; Gtk2Hs越喜欢它! :)

//此致

答案 1 :(得分: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