gtk:在cellrenderer中连接spinbutton信号

时间:2015-02-06 17:31:31

标签: haskell treeview gtk signals gtk2hs

我正在使用Gtk制作带有树视图的GUI。

我希望连接CellRendererSpin的更新信号,以便在每次修改旋钮时进行一些操作(更新图纸)(在使用'enter'验证之前)。

我尝试使用editingStarted获取小部件旋钮,并连接旋钮的信号onValueSpinned以进行更新。

on renderspin editingStarted  $ \wid iter -> do
                                 let widcast = castToSpinButton wid
                                 onValueSpinned widcast $ do
                                                          update_the_drawing
                                                          ....

当我点击旋钮增加或减少时,更新已完成,但事情正在逃跑 ...更新按顺序非常快速地进行并且不会停止。

我试图在调整旋钮的调整中将onValueSpinned widcast替换为onValueChanged adj

on renderspin editingStarted  $ \wid iter -> do
                                 let widcast = castToSpinButton wid
                                 adj <- spinButtonGetAdjustment  widcast
                                 onValueChanged adj $ do
                                                      update_the_drawing
                                                      ....

我尝试将onValueSpinned替换为onValueSpinned而将onValueChanged替换为afterValueChanged,但它仍在逃避。

我有几个问题:

  1. on renderspin editingStarted是否可以在树视图中访问自旋按钮小部件?有替代方法吗?
  2. 是否有特定信号/功能进行一次更新?
  3. 我的方法是获得全球正确的预期结果还是我完全错了?
  4. 您是否有任何语言的示例(C,Python,Haskell,...)?

0 个答案:

没有答案